CVE-2015-0222: Django database denial-of-service with ModelMultipleChoiceField
7.5
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.88713%
CWE
Published
5/17/2022
Updated
9/18/2024
KEV Status
No
Technology
Python
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
Django | pip | >= 1.6, < 1.6.10 | 1.6.10 |
Django | pip | >= 1.7, < 1.7.3 | 1.7.3 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stems from duplicate value handling in ModelMultipleChoiceField validation. The pre-patch code in clean() and to_python() methods processed each submitted value individually, including duplicates. The GitHub commit shows these methods were modified to call a new _check_values() method that deduplicates inputs using frozenset(). The lack of deduplication in the original implementations directly enabled the SQL query amplification attack described in CVE-2015-0222. The file path and function names are explicitly shown in the commit diff, and the vulnerability documentation specifically references ModelMultipleChoiceField validation logic.