CVE-2015-0221
Django DoS in django.views.static.serve
CVE-2015-0221 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 4.37%, the 91st percentile. Fixed in django 1.4.18.
The django.views.static.serve view in Django before 1.4.18, 1.6.x before 1.6.10, and 1.7.x before 1.7.3 reads files an entire line at a time, which allows remote attackers to cause a denial of service (memory consumption) via a long line in a file.
Exploit likelihood
What each source reports
NVD Score used
5.0
The django.views.static.serve view in Django before 1.4.18, 1.6.x before 1.6.10, and 1.7.x before 1.7.3 reads files an entire line at a time, which allows remote attackers to cause a denial of service (memory consumption) via a long line in a file.
- Record
CVE-2015-0221- CVSS 2.0
- 5.0 Medium
AV:N/AC:L/Au:N/C:N/I:N/A:P - Weakness
- CWE-399
- Updated
- 2026-11-02
CVE List No score
The django.views.static.serve view in Django before 1.4.18, 1.6.x before 1.6.10, and 1.7.x before 1.7.3 reads files an entire line at a time, which allows remote attackers to cause a denial of service (memory consumption) via a long line in a file.
- Record
CVE-2015-0221- Updated
- 2026-11-02
EUVDEUVD-2015-0015 No score
The django.views.static.serve view in Django before 1.4.18, 1.6.x before 1.6.10, and 1.7.x before 1.7.3 reads files an entire line at a time, which allows remote attackers to cause a denial of service (memory consumption) via a long line in a file.
- Record
EUVD-2015-0015- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-jhjg-w2cp-5j44
8.7
Django DoS in django.views.static.serve
The django.views.static.serve view in Django before 1.4.18, 1.6.x before 1.6.10, and 1.7.x before 1.7.3 reads files an entire line at a time, which allows remote attackers to cause a denial of service (memory consumption) via a long line in a file.
- Record
GHSA-jhjg-w2cp-5j44- CVSS 4.0
- 8.7 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/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:N/A:H - Weakness
- CWE-400
- Updated
- 2026-11-02
OSVGHSA-jhjg-w2cp-5j44
8.7
Django DoS in django.views.static.serve
The django.views.static.serve view in Django before 1.4.18, 1.6.x before 1.6.10, and 1.7.x before 1.7.3 reads files an entire line at a time, which allows remote attackers to cause a denial of service (memory consumption) via a long line in a file.
- Record
GHSA-jhjg-w2cp-5j44- CVSS 4.0
- 8.7 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/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:N/A:H - Weakness
- CWE-400
- Updated
- 2026-11-02
OSV No score
The django.views.static.serve view in Django before 1.4.18, 1.6.x before 1.6.10, and 1.7.x before 1.7.3 reads files an entire line at a time, which allows remote attackers to cause a denial of service (memory consumption) via a long line in a file.
- Record
CVE-2015-0221- Updated
- 2026-11-02
Show 9 moreShow less
OSVDEBIAN-CVE-2015-0221 No score
The django.views.static.serve view in Django before 1.4.18, 1.6.x before 1.6.10, and 1.7.x before 1.7.3 reads files an entire line at a time, which allows remote attackers to cause a denial of service (memory consumption) via a long line in a file.
- Record
DEBIAN-CVE-2015-0221- 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
OSVPYSEC-2015-6 No score
The django.views.static.serve view in Django before 1.4.18, 1.6.x before 1.6.10, and 1.7.x before 1.7.3 reads files an entire line at a time, which allows remote attackers to cause a denial of service (memory consumption) via a long line in a file.
- Record
PYSEC-2015-6- 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-0221 No score
The django.views.static.serve view in Django before 1.4.18, 1.6.x before 1.6.10, and 1.7.x before 1.7.3 reads files an entire line at a time, which allows remote attackers to cause a denial of service (memory consumption) via a long line in a file.
- Record
UBUNTU-CVE-2015-0221- 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
| Package | Affected | Fixed |
|---|---|---|
djangoPyPI |
before 1.4.18 | 1.4.18 |
djangoPyPI |
1.6 up to 1.6.10 | 1.6.10 |
djangoPyPI |
1.7 up to 1.7.3 | 1.7.3 |
python-djangoDebian:12 |
before 1.7.1-1.1 | 1.7.1-1.1 |
python-djangoDebian:13 |
before 1.7.1-1.1 | 1.7.1-1.1 |
python-djangoDebian:14 |
before 1.7.1-1.1 | 1.7.1-1.1 |
python-djangoDebian: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 less1.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-djangoDebian: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 less1.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 |
djangoPyPI |
before 1.4.18, plus listed versions 1.0.11.0.21.0.31.0.41.1 Show 38 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.21.4.31.4.41.4.51.4.61.4.71.4.81.4.9 |
1.4.18 |
djangoPyPI |
1.6 up to 1.6.10, plus listed versions 1.6.11.6.21.6.31.6.41.6.5 Show 4 moreShow less1.6.61.6.71.6.81.6.9 |
1.6.10 |
Show 6 moreShow less
| Package | Affected | Fixed |
|---|---|---|
djangoPyPI |
1.7 up to 1.7.3, plus listed versions 1.7.11.7.2 |
1.7.3 |
python-django14Mageia:4 |
before 1.4.18-1.1.mga4 | 1.4.18-1.1.mga4 |
python-djangoMageia:4 |
before 1.5.9-1.1.mga4 | 1.5.9-1.1.mga4 |
djangoPyPI |
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 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.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-DjangoSUSE:Enterprise Storage 1.0 |
before 1.6.11-4.1 | 1.6.11-4.1 |
python-djangoUbuntu: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 less1.6.1-2ubuntu0.21.6.1-2ubuntu0.31.6.1-2ubuntu0.41.6.1-2ubuntu0.5 |
1.6.1-2ubuntu0.6 |
History
| When | Changed | Sources |
|---|---|---|
| 2026-11-03 | aliases | EUVD |
| 2026-11-02 | created | CVE List, GitHub Advisories, NVD, OSV |
References
secunia.com/advisories/62718
lists.fedoraproject.org/pipermail/package-announce/2015-January/148608.html
ubuntu.com/usn/usn-2469-1
mandriva.com/security/advisories?name=MDVSA-2015:036
lists.fedoraproject.org/pipermail/package-announce/2015-January/148696.html
secunia.com/advisories/62285
Show 53 moreShow less
lists.opensuse.org/opensuse-updates/2015-09/msg00035.html
djangoproject.com/weblog/2015/jan/13/security
lists.opensuse.org/opensuse-updates/2015-04/msg00001.html
secunia.com/advisories/62309
mandriva.com/security/advisories?name=MDVSA-2015:109
advisories.mageia.org/MGASA-2015-0026.html
lists.fedoraproject.org/pipermail/package-announce/2015-January/148485.html
nvd.nist.gov/vuln/detail/CVE-2015-0221
github.com/django/django/commit/553779c4055e8742cc832ed525b9ee34b174934f
github.com/django/django/commit/818e59a3f0fbadf6c447754d202d88df025f8f2a
github.com/django/django/commit/d020da6646c5142bc092247d218a3d1ce3e993f7
github.com/django/django/blob/9b9c805cedb08621bd5dc58a01a6478eb7cc49a9/docs/releases/1.4.18.txt
web.archive.org/web/20150128111656/http://secunia.com/advisories/62285
web.archive.org/web/20150128111656/http://secunia.com/advisories/62309
web.archive.org/web/20150523054951/http://www.mandriva.com/en/support/security/advisories/advisory/MDVSA-2015:109?name=MDVSA-2015:109
web.archive.org/web/20150523054953/http://www.mandriva.com/en/support/security/advisories/advisory/MDVSA-2015:036?name=MDVSA-2015:036
web.archive.org/web/20151104201446/http://secunia.com/advisories/62718
github.com/pypa/advisory-database/tree/main/vulns/django/PYSEC-2015-6.yaml
github.com/advisories/GHSA-jhjg-w2cp-5j44
security-tracker.debian.org/tracker/CVE-2015-0221
github.com/django/django
bugs.mageia.org/show_bug.cgi?id=15045
suse.com/support/update/announcement/2015/suse-su-20150563-1
bugzilla.suse.com/893087
bugzilla.suse.com/893088
bugzilla.suse.com/893089
bugzilla.suse.com/893090
bugzilla.suse.com/913053
bugzilla.suse.com/913054
bugzilla.suse.com/913055
bugzilla.suse.com/913056
bugzilla.suse.com/914706
bugzilla.suse.com/923176
suse.com/security/cve/CVE-2014-0480
suse.com/security/cve/CVE-2014-0481
suse.com/security/cve/CVE-2014-0482
suse.com/security/cve/CVE-2014-0483
suse.com/security/cve/CVE-2015-0219
suse.com/security/cve/CVE-2015-0220
suse.com/security/cve/CVE-2015-0221
suse.com/security/cve/CVE-2015-0222
suse.com/security/cve/CVE-2015-2316
suse.com/security/cve/CVE-2015-2317
suse.com/support/update/announcement/2015/suse-su-20150695-1
suse.com/support/update/announcement/2015/suse-su-20151109-1
bugzilla.suse.com/923172
suse.com/support/update/announcement/2015/suse-su-20151112-1
ubuntu.com/security/CVE-2015-0221
ubuntu.com/security/notices/USN-2469-1
cve.org/CVERecord?id=CVE-2015-0221
ubuntu.com/security/CVE-2015-0219
ubuntu.com/security/CVE-2015-0220
ubuntu.com/security/CVE-2015-0222
Left out here: 17 versions. The JSON record has them.