CVE-2015-5144
Django Vulnerable to HTTP Response Splitting Attack
Django before 1.4.21, 1.5.x through 1.6.x, 1.7.x before 1.7.9, and 1.8.x before 1.8.3 uses an incorrect regular expression, which allows remote attackers to inject arbitrary headers and conduct HTTP response splitting attacks via a newline character in an (1) email message to the EmailValidator, a (2) URL to the URLValidator, or unspecified vectors to the (3) validate_ipv4_address or (4) validate_slug validator.
Exploit likelihood
What each source reports
NVD Score used
4.3
Django before 1.4.21, 1.5.x through 1.6.x, 1.7.x before 1.7.9, and 1.8.x before 1.8.3 uses an incorrect regular expression, which allows remote attackers to inject arbitrary headers and conduct HTTP response splitting attacks via a newline character in an (1) email message to the EmailValidator, a (2) URL to the URLValidator, or unspecified vectors to the (3) validate_ipv4_address or (4) validate_slug validator.
- Record
CVE-2015-5144- CVSS 2.0
- 4.3 Medium
AV:N/AC:M/Au:N/C:N/I:P/A:N - Weakness
- CWE-20
- Updated
- 2026-11-02
CVE List No score
Django before 1.4.21, 1.5.x through 1.6.x, 1.7.x before 1.7.9, and 1.8.x before 1.8.3 uses an incorrect regular expression, which allows remote attackers to inject arbitrary headers and conduct HTTP response splitting attacks via a newline character in an (1) email message to the EmailValidator, a (2) URL to the URLValidator, or unspecified vectors to the (3) validate_ipv4_address or (4) validate_slug validator.
- Record
CVE-2015-5144- Updated
- 2026-11-02
EUVDEUVD-2015-0005 No score
Django before 1.4.21, 1.5.x through 1.6.x, 1.7.x before 1.7.9, and 1.8.x before 1.8.3 uses an incorrect regular expression, which allows remote attackers to inject arbitrary headers and conduct HTTP response splitting attacks via a newline character in an (1) email message to the EmailValidator, a (2) URL to the URLValidator, or unspecified vectors to the (3) validate_ipv4_address or (4) validate_slug validator.
- Record
EUVD-2015-0005- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-q5qw-4364-5hhm
8.7
Django Vulnerable to HTTP Response Splitting Attack
Django before 1.4.21, 1.5.x through 1.6.x, 1.7.x before 1.7.9, and 1.8.x before 1.8.3 uses an incorrect regular expression, which allows remote attackers to inject arbitrary headers and conduct HTTP response splitting attacks via a newline character in an (1) email message to the EmailValidator, a (2) URL to the URLValidator, or unspecified vectors to the (3) validate_ipv4_address or (4) validate_slug validator.
- Record
GHSA-q5qw-4364-5hhm- CVSS 4.0
- 8.7 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N - CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Weakness
- CWE-20
- Updated
- 2026-11-02
OSVGHSA-q5qw-4364-5hhm
8.7
Django Vulnerable to HTTP Response Splitting Attack
Django before 1.4.21, 1.5.x through 1.6.x, 1.7.x before 1.7.9, and 1.8.x before 1.8.3 uses an incorrect regular expression, which allows remote attackers to inject arbitrary headers and conduct HTTP response splitting attacks via a newline character in an (1) email message to the EmailValidator, a (2) URL to the URLValidator, or unspecified vectors to the (3) validate_ipv4_address or (4) validate_slug validator.
- Record
GHSA-q5qw-4364-5hhm- CVSS 4.0
- 8.7 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N - CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Weakness
- CWE-20
- Updated
- 2026-11-02
OSV No score
Django before 1.4.21, 1.5.x through 1.6.x, 1.7.x before 1.7.9, and 1.8.x before 1.8.3 uses an incorrect regular expression, which allows remote attackers to inject arbitrary headers and conduct HTTP response splitting attacks via a newline character in an (1) email message to the EmailValidator, a (2) URL to the URLValidator, or unspecified vectors to the (3) validate_ipv4_address or (4) validate_slug validator.
- Record
CVE-2015-5144- Updated
- 2026-11-02
Show 8 moreShow less
OSVDEBIAN-CVE-2015-5144 No score
Django before 1.4.21, 1.5.x through 1.6.x, 1.7.x before 1.7.9, and 1.8.x before 1.8.3 uses an incorrect regular expression, which allows remote attackers to inject arbitrary headers and conduct HTTP response splitting attacks via a newline character in an (1) email message to the EmailValidator, a (2) URL to the URLValidator, or unspecified vectors to the (3) validate_ipv4_address or (4) validate_slug validator.
- Record
DEBIAN-CVE-2015-5144- Updated
- 2026-11-02
OSVMGASA-2015-0293 No score
Updated python-django and python-django14 packages fix security vulnerabilities
Eric Peterson and Lin Hua Cheng discovered that a new empty record used to be created in the session storage every time a session was accessed and an unknown session key was provided in the request cookie. This could allow remote attackers to saturate the session store or cause other users' session records to be evicted (CVE-2015-5143).
Sjoerd Job Postmus discovered that some built-in validators did not properly reject newlines in input values. This could allow remote attackers to inject headers in emails and HTTP responses (CVE-2015-5144).
django.core.validators.URLValidator included a regular expression that was extremely slow to evaluate against certain inputs. This regular expression has been simplified and optimized (CVE-2015-5145).
The Mageia 4 python-django14 and Mageia 5 python-django packages have been updated to versions 1.4.21 and 1.8.3 respectively to fix these issues. Note that the CVE-2015-5145 issue only affected python-django.
Note: the python-django package in Mageia 4, based on Django 1.5.9, is no longer supported. Users of this package are advised to migrate to Mageia 5.
- Record
MGASA-2015-0293- Updated
- 2026-11-02
OSVPYSEC-2015-10 No score
Django before 1.4.21, 1.5.x through 1.6.x, 1.7.x before 1.7.9, and 1.8.x before 1.8.3 uses an incorrect regular expression, which allows remote attackers to inject arbitrary headers and conduct HTTP response splitting attacks via a newline character in an (1) email message to the EmailValidator, a (2) URL to the URLValidator, or unspecified vectors to the (3) validate_ipv4_address or (4) validate_slug validator.
- Record
PYSEC-2015-10- Updated
- 2026-11-02
OSVSUSE-SU-2015:1810-1 No score
Security update for python-Django
This update for python-Django fixes the following security issues:
- Prevent Denial-of-service possibility by filling session store. (bsc#937522, CVE-2015-5143)
- Prevent Header injection possibility. (bsc#937523, CVE-2015-5144)
- A remote denial of service (resource exhaustion) attack against the django session store was fixed in Python Django. This might have allowed remote attackers to exhaust existing web sessions. (bsc#941587, CVE-2015-5963)
- Record
SUSE-SU-2015:1810-1- Updated
- 2026-11-02
OSVSUSE-SU-2015:1815-1 No score
Security update for python-Django
This update for python-Django fixes the following security issues:
- Prevent Denial-of-service possibility by filling session store. (bsc#937522, CVE-2015-5143)
- Prevent Header injection possibility. (bsc#937523, CVE-2015-5144)
- A remote denial of service (resource exhaustion) attack against the django session store was fixed in Python Django. This might have allowed remote attackers to exhaust existing web sessions. (bsc#941587, CVE-2015-5963)
- Record
SUSE-SU-2015:1815-1- Updated
- 2026-11-02
OSVSUSE-SU-2016:0044-1 No score
Security update for python-Django
This update fixes the following security issues:
-
(bnc#955412, CVE-2015-8213) Possible settings leak in date template filter
-
(bnc#937522, CVE-2015-5143) Possible denial-of-service in session store
-
(bnc#937523, CVE-2015-5144) Possible Header injection
-
(bnc#941587, CVE-2015-5963) Possible denial-of-service by filling session store via logout()
- Record
SUSE-SU-2016:0044-1- Updated
- 2026-11-02
OSVUBUNTU-CVE-2015-5144 No score
Django before 1.4.21, 1.5.x through 1.6.x, 1.7.x before 1.7.9, and 1.8.x before 1.8.3 uses an incorrect regular expression, which allows remote attackers to inject arbitrary headers and conduct HTTP response splitting attacks via a newline character in an (1) email message to the EmailValidator, a (2) URL to the URLValidator, or unspecified vectors to the (3) validate_ipv4_address or (4) validate_slug validator.
- Record
UBUNTU-CVE-2015-5144- Updated
- 2026-11-02
OSVUSN-2671-1 No score
python-django vulnerabilities
Eric Peterson and Lin Hua Cheng discovered that Django incorrectly handled session records. A remote attacker could use this issue to cause a denial of service. (CVE-2015-5143)
Sjoerd Job Postmus discovered that DJango incorrectly handled newline characters when performing validation. A remote attacker could use this issue to perform header injection attacks. (CVE-2015-5144)
- Record
USN-2671-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
djangoPyPI |
before 1.4.21 | 1.4.21 |
djangoPyPI |
1.5 up to 1.7.9 | 1.7.9 |
djangoPyPI |
1.8a1 up to 1.8.3 | 1.8.3 |
python-djangoDebian:12 |
before 1.7.9-1 | 1.7.9-1 |
python-djangoDebian:13 |
before 1.7.9-1 | 1.7.9-1 |
python-djangoDebian:14 |
before 1.7.9-1 | 1.7.9-1 |
python-djangoDebian:6.0 From an advisory covering 3 CVEs |
before 1.2.3-3+squeeze13, plus listed versions 1.2.3-31.2.3-3+squeeze11.2.3-3+squeeze101.2.3-3+squeeze111.2.3-3+squeeze12 Show 7 moreShow less1.2.3-3+squeeze21.2.3-3+squeeze31.2.3-3+squeeze51.2.3-3+squeeze61.2.3-3+squeeze71.2.3-3+squeeze81.2.3-3+squeeze9 |
1.2.3-3+squeeze13 |
python-djangoDebian:7 From an advisory covering 2 CVEs |
before 1.4.5-1+deb7u12, plus listed versions 1.4.5-11.4.5-1+deb7u11.4.5-1+deb7u101.4.5-1+deb7u111.4.5-1+deb7u11~bpo60+1 Show 11 moreShow less1.4.5-1+deb7u21.4.5-1+deb7u31.4.5-1+deb7u41.4.5-1+deb7u4~bpo60+11.4.5-1+deb7u51.4.5-1+deb7u61.4.5-1+deb7u71.4.5-1+deb7u7~bpo60+11.4.5-1+deb7u81.4.5-1+deb7u8~bpo60+11.4.5-1+deb7u9 |
1.4.5-1+deb7u12 |
python-djangoDebian:8 From an advisory covering 2 CVEs |
before 1.7.7-1+deb8u1, plus listed versions 1.7.7-1 |
1.7.7-1+deb8u1 |
djangoPyPI |
before 1.4.21, plus listed versions 1.0.11.0.21.0.31.0.41.1 Show 41 moreShow less1.1.11.1.21.1.31.1.41.21.2.11.2.21.2.31.2.41.2.51.2.61.2.71.31.3.11.3.21.3.31.3.41.3.51.3.61.3.71.41.4.11.4.101.4.111.4.121.4.131.4.141.4.151.4.161.4.171.4.181.4.191.4.21.4.201.4.31.4.41.4.51.4.61.4.71.4.81.4.9 |
1.4.21 |
Show 10 moreShow less
| Package | Affected | Fixed |
|---|---|---|
djangoPyPI |
1.5 up to 1.7.9, plus listed versions 1.5.11.5.101.5.111.5.121.5.2 Show 28 moreShow less1.5.31.5.41.5.51.5.61.5.71.5.81.5.91.61.6.11.6.101.6.111.6.21.6.31.6.41.6.51.6.61.6.71.6.81.6.91.71.7.11.7.21.7.31.7.41.7.51.7.61.7.71.7.8 |
1.7.9 |
djangoPyPI |
1.8a1 up to 1.8.3, plus listed versions 1.81.8.11.8.21.8b11.8b21.8c1 |
1.8.3 |
python-django14Mageia:4 From an advisory covering 3 CVEs |
before 1.4.21-1.mga4 | 1.4.21-1.mga4 |
python-djangoMageia:5 From an advisory covering 3 CVEs |
before 1.8.3-1.mga5 | 1.8.3-1.mga5 |
djangoPyPI |
before 1.4.21, 1.5 up to 1.7.9, 1.8 up to 1.8.3, plus listed versions 1.0.11.0.21.0.31.0.41.1 Show 45 moreShow less1.1.11.1.21.1.31.1.41.21.2.11.2.21.2.31.2.41.2.51.2.61.2.71.31.3.11.3.21.3.31.3.41.3.51.3.61.3.71.41.4.11.4.101.4.111.4.121.4.131.4.141.4.151.4.161.4.171.4.181.4.191.4.21.4.201.4.31.4.41.4.51.4.61.4.71.4.81.4.91.5.11.5.101.5.111.5.12 |
1.4.211.7.91.8.3 |
python-DjangoSUSE:OpenStack Cloud 5 From an advisory covering 3 CVEs |
before 1.6.11-10.2 | 1.6.11-10.2 |
python-DjangoSUSE:Enterprise Storage 1.0 From an advisory covering 3 CVEs |
before 1.6.11-8.1 | 1.6.11-8.1 |
python-DjangoSUSE:Enterprise Storage 2 From an advisory covering 4 CVEs |
before 1.6.11-3.1 | 1.6.11-3.1 |
python-djangoUbuntu:14.04:LTS |
before 1.6.1-2ubuntu0.9, plus listed versions 1.5.4-1ubuntu11.6-11.6.1-11.6.1-21.6.1-2ubuntu0.1 Show 6 moreShow less1.6.1-2ubuntu0.21.6.1-2ubuntu0.31.6.1-2ubuntu0.41.6.1-2ubuntu0.51.6.1-2ubuntu0.61.6.1-2ubuntu0.8 |
1.6.1-2ubuntu0.9 |
python-djangoUbuntu:14.04:LTS From an advisory covering 2 CVEs |
before 1.6.1-2ubuntu0.9, plus listed versions 1.5.4-1ubuntu11.6-11.6.1-11.6.1-21.6.1-2ubuntu0.1 Show 6 moreShow less1.6.1-2ubuntu0.21.6.1-2ubuntu0.31.6.1-2ubuntu0.41.6.1-2ubuntu0.51.6.1-2ubuntu0.61.6.1-2ubuntu0.8 |
1.6.1-2ubuntu0.9 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2015-5144 is a medium vulnerability (CVSS 4.3) in Djangoproject Django, published July 8, 2015. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 3.17%, the 88th percentile. Fixed in django 1.4.21.
References
lists.fedoraproject.org/pipermail/package-announce/2015-November/172084.html
security.gentoo.org/glsa/201510-06
djangoproject.com/weblog/2015/jul/08/security-releases
lists.opensuse.org/opensuse-updates/2015-10/msg00043.html
lists.opensuse.org/opensuse-updates/2015-10/msg00046.html
debian.org/security/2015/dsa-3305
Show 33 moreShow less
securityfocus.com/bid/75665
ubuntu.com/usn/USN-2671-1
securitytracker.com/id/1032820
oracle.com/technetwork/topics/security/bulletinoct2015-2511968.html
nvd.nist.gov/vuln/detail/CVE-2015-5144
github.com/django/django/commit/1ba1cdce7d58e6740fe51955d945b56ae51d072a
github.com/django/django/commit/574dd5e0b0fbb877ae5827b1603d298edc9bb2a0
github.com/django/django/commit/ae49b4d994656bc037513dcd064cb9ce5bb85649
github.com/django/django/blob/4555a823fd57e261e1b19c778429473256c8ea08/docs/releases/1.4.21.txt
web.archive.org/web/20150924150801/http://www.securitytracker.com/id/1032820
web.archive.org/web/20200228050526/http://www.securityfocus.com/bid/75665
github.com/django/django/commit/8f9a4d3a2bc42f14bb437defd30c7315adbff22c
github.com/pypa/advisory-database/tree/main/vulns/django/PYSEC-2015-10.yaml
github.com/advisories/GHSA-q5qw-4364-5hhm
security-tracker.debian.org/tracker/CVE-2015-5144
github.com/django/django
advisories.mageia.org/MGASA-2015-0293.html
bugs.mageia.org/show_bug.cgi?id=16334
suse.com/support/update/announcement/2015/suse-su-20151810-1
bugzilla.suse.com/937522
bugzilla.suse.com/937523
bugzilla.suse.com/941587
suse.com/security/cve/CVE-2015-5143
suse.com/security/cve/CVE-2015-5144
suse.com/security/cve/CVE-2015-5963
suse.com/support/update/announcement/2015/suse-su-20151815-1
suse.com/support/update/announcement/2016/suse-su-20160044-1
bugzilla.suse.com/955412
suse.com/security/cve/CVE-2015-8213
ubuntu.com/security/CVE-2015-5144
ubuntu.com/security/notices/USN-2671-1
cve.org/CVERecord?id=CVE-2015-5144
ubuntu.com/security/CVE-2015-5143
Left out here: 31 versions. The JSON record has them.