CVE-2023-31047: djangoproject django Improper Input Validation
Vulnerability summary
CVE-2023-31047 is a critical (CVSS 9.8) Improper Input Validation vulnerability in djangoproject django. EPSS estimates a 1.39% chance of exploitation in the next 30 days, higher than 72.3% of scored vulnerabilities.
Severe, CVSS 9.8 (CVE.org); no exploitation reported by the 5 checked sources; EPSS 1% (FIRST, 03-11-2026)
Source freshness unavailable
How is this decided?Advisory lineage
Upstream 0 · Downstream 10 · Related 6Timeline
- 07-05-2023PublishedVulnerability first disclosed.
- 29-01-2025Last modifiedVulnerability information updated.
Description
In Django 3.2 before 3.2.19, 4.x before 4.1.9, and 4.2 before 4.2.1, it was possible to bypass validation when using one form field to upload multiple files. This multiple upload has never been supported by forms.FileField or forms.ImageField (only the last uploaded file was validated). However, Django's "Uploading multiple files" documentation suggested otherwise.
CVSS metrics
6 scores · 5 sources · 2 versions- OSV · PypiEcosystem advisory · calculated9.8CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- OSV · UbuntuEcosystem advisory · calculated9.8CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- OSV · DebianEcosystem advisory · calculated9.8CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- NVDNIST9.8CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
EPSS trend
Probability
1.39%
Chance of exploitation in the next 30 days
Percentile
72%
Versus all other CVEs
30-day change
No change 0.00 pp
From 1.39% on 04-10-2026
Known exploited
Compare KEV catalogsNot in the CISA KEV catalog.
Not in the ENISA CNW catalog.
Not in the CIRCL catalog.
Public exploits
0 foundNo public exploits indexed.
Weaknesses
CWE · root cause- CWE-20Improper Input ValidationThe product receives input or data, but it does not validate or incorrectly validates that the input has the properties that are required to process the data safely and correctly.
- CWE-862Missing AuthorizationThe product does not perform an authorization check when an actor attempts to access a resource or perform an action.
Affected systems
Known conditions: network-reachable, no authentication, no user interaction (CVSS vector). Other conditions: not stated in public data.
Debian1 product
- python-django< 1:1.11.29-1+deb10u8 | < 3:3.2.19-1
Djangoproject1 product
- djangoEOL≥ 3.2, < 3.2.19 | ≥ 4.0, < 4.1.9 | 4.2 | 4.2:b1 | 4.2:rc1
Fedoraproject1 product
- fedoraEOL38
Opensuse1 product
- python-Django&distro=openSUSE Tumbleweed< 4.2.1-1.1
PyPI1 product
- django≥ 3.2a1, < 3.2.19 | ≥ 4.0a1, < 4.1.9 | ≥ 4.2a1, < 4.2.1 | ≥ 4.2, < 4.2.1
Ubuntu1 product
- python-django< 1:1.11.11-1ubuntu1.21 | < 2:2.2.12-1ubuntu0.17 | < 2:3.2.12-2ubuntu1.6 | < 1.6.11-0ubuntu1.3+esm6 | < 1.8.7-1ubuntu5.15+esm7
6 vendors · 6 products
References
26 links- lists.fedoraproject.org/archives/…Vendor Advisory
- lists.fedoraproject.org/archives/…Vendor Advisory
Show all 26 references
- github.com/django/djangoPACKAGE