9.8

CVE-2023-31047: djangoproject django Improper Input Validation

Modified
AliasesGHSA-r3xc-prgr-mg9pBIT-django-2023-31047PYSEC-2023-61
Published 07-05-2023Last modified 29-01-2025

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.

Priority
Prioritisesevere

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?
CVSS score
9.8/10
010
Critical · v3.1 (CVE.org)
EPSS score
1.39%
0%100%
Low · 0.00 pp in 30 days
KEVNot listedNot listed by any tracked catalog.
RansomwareNot flaggedNo ransomware use recorded.
Public exploits0No public exploits recorded

Advisory lineage

Upstream 0 · Downstream 10 · Related 6

Timeline

  1. 07-05-2023
    PublishedVulnerability first disclosed.
  2. 29-01-2025
    Last 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

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

04-10-202603-11-2026

Known exploited

Compare KEV catalogs
CISA KEV

Not in the CISA KEV catalog.

ENISA CNW

Not in the ENISA CNW catalog.

CIRCL

Not in the CIRCL catalog.

Public exploits

0 found

No public exploits indexed.

Weaknesses

CWE · root cause

Affected systems

Version check

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
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
Show all 26 references