Every CVE Search/ Get API key

CVE-2015-0219

Django WSGI Header Spoofing Vulnerability

5.0 MediumFix available

CVE-2015-0219 is a medium vulnerability (CVSS 5.0) in Djangoproject Django, published September 3, 2014. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 6.97%, the 94th percentile. Fixed in django 1.4.18.

Django before 1.4.18, 1.6.x before 1.6.10, and 1.7.x before 1.7.3 allows remote attackers to spoof WSGI headers by using an _ (underscore) character instead of a - (dash) character in an HTTP header, as demonstrated by an X-Auth_User header.

Exploit likelihood

6.97%Up 3.2 points since Feb 4, 2022
90%50%10%1%

What each source reports

NVD Score used 5.0

Django before 1.4.18, 1.6.x before 1.6.10, and 1.7.x before 1.7.3 allows remote attackers to spoof WSGI headers by using an _ (underscore) character instead of a - (dash) character in an HTTP header, as demonstrated by an X-Auth_User header.

Record
CVE-2015-0219
CVSS 2.0
5.0 MediumAV:N/AC:L/Au:N/C:N/I:P/A:N
Weakness
CWE-17
Updated
2026-11-02
CVE List No score

Django before 1.4.18, 1.6.x before 1.6.10, and 1.7.x before 1.7.3 allows remote attackers to spoof WSGI headers by using an _ (underscore) character instead of a - (dash) character in an HTTP header, as demonstrated by an X-Auth_User header.

Record
CVE-2015-0219
Updated
2026-11-02
EUVDEUVD-2015-0013 No score

Django before 1.4.18, 1.6.x before 1.6.10, and 1.7.x before 1.7.3 allows remote attackers to spoof WSGI headers by using an _ (underscore) character instead of a - (dash) character in an HTTP header, as demonstrated by an X-Auth_User header.

Record
EUVD-2015-0013
Updated
2026-11-03
GitHub AdvisoriesGHSA-7qfw-j7hp-v45g 6.9

Django WSGI Header Spoofing Vulnerability

Django before 1.4.18, 1.6.x before 1.6.10, and 1.7.x before 1.7.3 allows remote attackers to spoof WSGI headers by using an _ (underscore) character instead of a - (dash) character in an HTTP header, as demonstrated by an X-Auth_User header.

Record
GHSA-7qfw-j7hp-v45g
CVSS 4.0
6.9 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Weakness
CWE-290
Updated
2026-11-02
OSVGHSA-7qfw-j7hp-v45g 6.9

Django WSGI Header Spoofing Vulnerability

Django before 1.4.18, 1.6.x before 1.6.10, and 1.7.x before 1.7.3 allows remote attackers to spoof WSGI headers by using an _ (underscore) character instead of a - (dash) character in an HTTP header, as demonstrated by an X-Auth_User header.

Record
GHSA-7qfw-j7hp-v45g
CVSS 4.0
6.9 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Weakness
CWE-290
Updated
2026-11-02
OSV No score

Django before 1.4.18, 1.6.x before 1.6.10, and 1.7.x before 1.7.3 allows remote attackers to spoof WSGI headers by using an _ (underscore) character instead of a - (dash) character in an HTTP header, as demonstrated by an X-Auth_User header.

Record
CVE-2015-0219
Updated
2026-11-02
Show 13 moreShow less
OSVDEBIAN-CVE-2015-0219 No score

Django before 1.4.18, 1.6.x before 1.6.10, and 1.7.x before 1.7.3 allows remote attackers to spoof WSGI headers by using an _ (underscore) character instead of a - (dash) character in an HTTP header, as demonstrated by an X-Auth_User header.

Record
DEBIAN-CVE-2015-0219
Updated
2026-11-02
OSVMGASA-2015-0026 No score

Updated python-django and python-django14 packages fix security vulnerabilities

Jedediah Smith discovered that Django incorrectly handled underscores in WSGI headers. A remote attacker could possibly use this issue to spoof headers in certain environments (CVE-2015-0219).

Mikko Ohtamaa discovered that Django incorrectly handled user-supplied redirect URLs. A remote attacker could possibly use this issue to perform a cross-site scripting attack (CVE-2015-0220).

Alex Gaynor discovered that Django incorrectly handled reading files in django.views.static.serve(). A remote attacker could possibly use this issue to cause Django to consume resources, resulting in a denial of service (CVE-2015-0221).

Keryn Knight discovered that Django incorrectly handled forms with ModelMultipleChoiceField. A remote attacker could possibly use this issue to cause a large number of SQL queries, resulting in a database denial of service. Note that this issue only affected python-django (CVE-2015-0222).

Record
MGASA-2015-0026
Updated
2026-11-02
OSVopenSUSE-SU-2024:10206-1 No score

python-bjoern-1.4.2-1.23 on GA media

These are all security issues fixed in the python-bjoern-1.4.2-1.23 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:10206-1
Updated
2026-11-02
OSVopenSUSE-SU-2024:11218-1 No score

python36-bjoern-3.1.0-1.8 on GA media

These are all security issues fixed in the python36-bjoern-3.1.0-1.8 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:11218-1
Updated
2026-11-02
OSVopenSUSE-SU-2024:14133-1 No score

python310-bjoern-3.2.2-1.10 on GA media

These are all security issues fixed in the python310-bjoern-3.2.2-1.10 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:14133-1
Updated
2026-11-02
OSVopenSUSE-SU-2026:12000-1 No score

python313-bjoern-3.2.2-2.6 on GA media

These are all security issues fixed in the python313-bjoern-3.2.2-2.6 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2026:12000-1
Updated
2026-11-02
OSVPYSEC-2015-4 No score

Django before 1.4.18, 1.6.x before 1.6.10, and 1.7.x before 1.7.3 allows remote attackers to spoof WSGI headers by using an _ (underscore) character instead of a - (dash) character in an HTTP header, as demonstrated by an X-Auth_User header.

Record
PYSEC-2015-4
Updated
2026-11-02
OSVSUSE-SU-2015:0563-1 No score

Security update for python-django

python-django was updated to 1.5.10 fixing bugs and security issues:

* Prevented reverse() from generating URLs pointing to other hosts to
  prevent phishing attacks. (bnc#893087, CVE-2014-0480)
* Removed O(n) algorithm when uploading duplicate file names to fix
  file upload denial of service. (bnc#893088, CVE-2014-0481)
* Modified RemoteUserMiddleware to logout on REMOTE_USE change to
  prevent session hijacking. (bnc#893089, CVE-2014-0482)
* Prevented data leakage in contrib.admin via query string
  manipulation. (bnc#893090, CVE-2014-0483)

Security Issues:

* CVE-2014-0480
  <http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0480>
* CVE-2014-0481
  <http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0481>
* CVE-2014-0482
  <http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0482>
* CVE-2014-0483
  <http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0483>
Record
SUSE-SU-2015:0563-1
Updated
2026-11-02
OSVSUSE-SU-2015:0695-1 No score

Security update for python-django

python-django was updated to 1.5.10 fixing bugs and security issues:

* Prevented reverse() from generating URLs pointing to other hosts to
  prevent phishing attacks. (bnc#893087, CVE-2014-0480)
* Removed O(n) algorithm when uploading duplicate file names to fix
  file upload denial of service. (bnc#893088, CVE-2014-0481)
* Modified RemoteUserMiddleware to logout on REMOTE_USE change to
  prevent session hijacking. (bnc#893089, CVE-2014-0482)
* Prevented data leakage in contrib.admin via query string
  manipulation. (bnc#893090, CVE-2014-0483)

Security Issues:

* CVE-2014-0480
  <http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0480>
* CVE-2014-0481
  <http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0481>
* CVE-2014-0482
  <http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0482>
* CVE-2014-0483
  <http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0483>
Record
SUSE-SU-2015:0695-1
Updated
2026-11-02
OSVSUSE-SU-2015:1109-1 No score

Security update for python-Django

python-django was updated to 1.6.11 to fix security issues and non-security bugs.

The following vulnerabilities were fixed:

  • Made is_safe_url() reject URLs that start with control characters to mitigate possible XSS attack via user-supplied redirect URLs (bnc#923176, CVE-2015-2317)
  • Fixed an infinite loop possibility in strip_tags() (bnc#923172, CVE-2015-2316)
  • WSGI header spoofing via underscore/dash conflation (bnc#913053, CVE-2015-0219)
  • Mitigated possible XSS attack via user-supplied redirect URLs
  • Denial-of-service attack against django.views.static.serve (bnc#913056, CVE-2015-0221)
  • Database denial-of-service with ModelMultipleChoiceField (bnc#913055, CVE-2015-0222)

The update also contains fixes for non-security bugs, functional and stability issues.

Record
SUSE-SU-2015:1109-1
Updated
2026-11-02
OSVSUSE-SU-2015:1112-1 No score

Security update for python-Django

python-django was updated to 1.6.11 to fix security issues and non-security bugs.

The following vulnerabilities were fixed:

  • Made is_safe_url() reject URLs that start with control characters to mitigate possible XSS attack via user-supplied redirect URLs (bnc#923176, CVE-2015-2317)
  • Fixed an infinite loop possibility in strip_tags() (bnc#923172, CVE-2015-2316)
  • WSGI header spoofing via underscore/dash conflation (bnc#913053, CVE-2015-0219)
  • Mitigated possible XSS attack via user-supplied redirect URLs
  • Denial-of-service attack against django.views.static.serve (bnc#913056, CVE-2015-0221)
  • Database denial-of-service with ModelMultipleChoiceField (bnc#913055, CVE-2015-0222)

The update also contains fixes for non-security bugs, functional and stability issues.

Record
SUSE-SU-2015:1112-1
Updated
2026-11-02
OSVUBUNTU-CVE-2015-0219 No score

Django before 1.4.18, 1.6.x before 1.6.10, and 1.7.x before 1.7.3 allows remote attackers to spoof WSGI headers by using an _ (underscore) character instead of a - (dash) character in an HTTP header, as demonstrated by an X-Auth_User header.

Record
UBUNTU-CVE-2015-0219
Updated
2026-11-02
OSVUSN-2469-1 No score

python-django vulnerabilities

Jedediah Smith discovered that Django incorrectly handled underscores in WSGI headers. A remote attacker could possibly use this issue to spoof headers in certain environments. (CVE-2015-0219)

Mikko Ohtamaa discovered that Django incorrectly handled user-supplied redirect URLs. A remote attacker could possibly use this issue to perform a cross-site scripting attack. (CVE-2015-0220)

Alex Gaynor discovered that Django incorrectly handled reading files in django.views.static.serve(). A remote attacker could possibly use this issue to cause Django to consume resources, resulting in a denial of service. (CVE-2015-0221)

Keryn Knight discovered that Django incorrectly handled forms with ModelMultipleChoiceField. A remote attacker could possibly use this issue to cause a large number of SQL queries, resulting in a database denial of service. This issue only affected Ubuntu 14.04 LTS and Ubuntu 14.10. (CVE-2015-0222)

Record
USN-2469-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
django
PyPI
before 1.4.18
1.4.18
django
PyPI
1.6 up to 1.6.10
1.6.10
django
PyPI
1.7 up to 1.7.3
1.7.3
python-django
Debian:12
before 1.7.1-1.1
1.7.1-1.1
python-django
Debian:13
before 1.7.1-1.1
1.7.1-1.1
python-django
Debian:14
before 1.7.1-1.1
1.7.1-1.1
python-django
Debian:6.0
before 1.2.3-3+squeeze12, plus listed versions
1.2.3-31.2.3-3+squeeze11.2.3-3+squeeze101.2.3-3+squeeze111.2.3-3+squeeze2
Show 6 moreShow less
1.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+squeeze12
python-django
Debian:7
before 1.4.5-1+deb7u9, plus listed versions
1.4.5-11.4.5-1+deb7u11.4.5-1+deb7u21.4.5-1+deb7u31.4.5-1+deb7u4
Show 7 moreShow less
1.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+1
1.4.5-1+deb7u9
django
PyPI
before 1.4.18, plus listed versions
1.0.11.0.21.0.31.0.41.1
Show 38 moreShow less
1.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.21.4.31.4.41.4.51.4.61.4.71.4.81.4.9
1.4.18
django
PyPI
1.6 up to 1.6.10, plus listed versions
1.6.11.6.21.6.31.6.41.6.5
Show 4 moreShow less
1.6.61.6.71.6.81.6.9
1.6.10
Show 9 moreShow less
Affected packages
PackageAffectedFixed
django
PyPI
1.7 up to 1.7.3, plus listed versions
1.7.11.7.2
1.7.3
python-django14
Mageia:4
before 1.4.18-1.1.mga4
1.4.18-1.1.mga4
python-django
Mageia:4
before 1.5.9-1.1.mga4
1.5.9-1.1.mga4
django
PyPI
before 1.4.18, 1.5 up to 1.6.10, 1.7 up to 1.7.3, plus listed versions
1.0.11.0.21.0.31.0.41.1
Show 45 moreShow less
1.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.21.4.31.4.41.4.51.4.61.4.71.4.81.4.91.5.11.5.101.5.111.5.121.5.21.5.31.5.4
1.4.181.6.101.7.3
python-Django
SUSE:Enterprise Storage 1.0
before 1.6.11-4.1
1.6.11-4.1
python-django
Ubuntu:14.04:LTS
before 1.6.1-2ubuntu0.6, plus listed versions
1.5.4-1ubuntu11.6-11.6.1-11.6.1-21.6.1-2ubuntu0.1
Show 4 moreShow less
1.6.1-2ubuntu0.21.6.1-2ubuntu0.31.6.1-2ubuntu0.41.6.1-2ubuntu0.5
1.6.1-2ubuntu0.6
python-bjoern
openSUSE:Tumbleweed
before 1.4.2-1.23
1.4.2-1.23
python-bjoern
openSUSE:Tumbleweed
before 3.2.2-1.10
3.2.2-1.10
python-bjoern
openSUSE:Tumbleweed
before 3.2.2-2.6
3.2.2-2.6

History

History
WhenChangedSources
2026-11-03aliasesEUVD
2026-11-02createdCVE List, GitHub Advisories, NVD, OSV

References

Show 54 moreShow less
This page doesn't list everything

Left out here: 17 versions. The JSON record has them.

MoveEnter Open