CVE-2015-0222
Django database denial-of-service with ModelMultipleChoiceField
CVE-2015-0222 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 2.71%, the 86th percentile. Fixed in django 1.6.10.
ModelMultipleChoiceField in Django 1.6.x before 1.6.10 and 1.7.x before 1.7.3, when show_hidden_initial is set to True, allows remote attackers to cause a denial of service by submitting duplicate values, which triggers a large number of SQL queries.
Exploit likelihood
What each source reports
NVD Score used
5.0
ModelMultipleChoiceField in Django 1.6.x before 1.6.10 and 1.7.x before 1.7.3, when show_hidden_initial is set to True, allows remote attackers to cause a denial of service by submitting duplicate values, which triggers a large number of SQL queries.
- Record
CVE-2015-0222- CVSS 2.0
- 5.0 Medium
AV:N/AC:L/Au:N/C:N/I:N/A:P - Weakness
- CWE-17
- Updated
- 2026-11-02
CVE List No score
ModelMultipleChoiceField in Django 1.6.x before 1.6.10 and 1.7.x before 1.7.3, when show_hidden_initial is set to True, allows remote attackers to cause a denial of service by submitting duplicate values, which triggers a large number of SQL queries.
- Record
CVE-2015-0222- Updated
- 2026-11-02
EUVDEUVD-2015-0016 No score
ModelMultipleChoiceField in Django 1.6.x before 1.6.10 and 1.7.x before 1.7.3, when show_hidden_initial is set to True, allows remote attackers to cause a denial of service by submitting duplicate values, which triggers a large number of SQL queries.
- Record
EUVD-2015-0016- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-6g95-x6cj-mg4v
7.5
Django database denial-of-service with ModelMultipleChoiceField
ModelMultipleChoiceField in Django 1.6.x before 1.6.10 and 1.7.x before 1.7.3, when show_hidden_initial is set to True, allows remote attackers to cause a denial of service by submitting duplicate values, which triggers a large number of SQL queries.
- Record
GHSA-6g95-x6cj-mg4v- 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-770
- Updated
- 2026-11-02
OSVGHSA-6g95-x6cj-mg4v
7.5
Django database denial-of-service with ModelMultipleChoiceField
ModelMultipleChoiceField in Django 1.6.x before 1.6.10 and 1.7.x before 1.7.3, when show_hidden_initial is set to True, allows remote attackers to cause a denial of service by submitting duplicate values, which triggers a large number of SQL queries.
- Record
GHSA-6g95-x6cj-mg4v- 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-770
- Updated
- 2026-11-02
OSV No score
ModelMultipleChoiceField in Django 1.6.x before 1.6.10 and 1.7.x before 1.7.3, when show_hidden_initial is set to True, allows remote attackers to cause a denial of service by submitting duplicate values, which triggers a large number of SQL queries.
- Record
CVE-2015-0222- Updated
- 2026-11-02
Show 9 moreShow less
OSVDEBIAN-CVE-2015-0222 No score
ModelMultipleChoiceField in Django 1.6.x before 1.6.10 and 1.7.x before 1.7.3, when show_hidden_initial is set to True, allows remote attackers to cause a denial of service by submitting duplicate values, which triggers a large number of SQL queries.
- Record
DEBIAN-CVE-2015-0222- 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-7 No score
ModelMultipleChoiceField in Django 1.6.x before 1.6.10 and 1.7.x before 1.7.3, when show_hidden_initial is set to True, allows remote attackers to cause a denial of service by submitting duplicate values, which triggers a large number of SQL queries.
- Record
PYSEC-2015-7- 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-0222 No score
ModelMultipleChoiceField in Django 1.6.x before 1.6.10 and 1.7.x before 1.7.3, when show_hidden_initial is set to True, allows remote attackers to cause a denial of service by submitting duplicate values, which triggers a large number of SQL queries.
- Record
UBUNTU-CVE-2015-0222- 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 |
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 |
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 |
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
lists.fedoraproject.org/pipermail/package-announce/2015-January/148608.html
ubuntu.com/usn/usn-2469-1
lists.fedoraproject.org/pipermail/package-announce/2015-January/148696.html
secunia.com/advisories/62285
lists.opensuse.org/opensuse-updates/2015-09/msg00035.html
djangoproject.com/weblog/2015/jan/13/security
Show 46 moreShow less
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-0222
web.archive.org/web/20161201073154/http://secunia.com/advisories/62285
web.archive.org/web/20161201073337/http://secunia.com/advisories/62309
github.com/django/django/commit/bcfb47780ce7caecb409a9e9c1c314266e41d392
github.com/django/django/commit/d7a06ee7e571b6dad07c0f5b519b1db02e2a476c
github.com/pypa/advisory-database/tree/main/vulns/django/PYSEC-2015-7.yaml
github.com/advisories/GHSA-6g95-x6cj-mg4v
security-tracker.debian.org/tracker/CVE-2015-0222
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-0222
ubuntu.com/security/notices/USN-2469-1
cve.org/CVERecord?id=CVE-2015-0222
ubuntu.com/security/CVE-2015-0219
ubuntu.com/security/CVE-2015-0220
ubuntu.com/security/CVE-2015-0221
Left out here: 17 versions. The JSON record has them.