Vulnerability advisory
GHSA-r3xc-prgr-mg9p
Django bypasses validation when using one form field to upload multiple files
Also known as BIT-django-2023-31047CVE-2023-31047PYSEC-2023-61
Severity
- CVSS 3.x
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - CVSS 4.0
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Affected versions
| Affected | Fixed in |
|---|---|
3.2a1 to before 3.2.19 | 3.2.19Advisories → |
4.0a1 to before 4.1.9 | 4.1.9Advisories → |
4.2a1 to before 4.2.1 | 4.2.1Advisories → |
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.
References
- Advisorynvd.nist.gov/vuln/detail/CVE-2023-31047 ↗
- Webgithub.com/django/django/commit/21b1b1fc03e5f9e9f8c977ee6e35618dd3b353dd ↗
- Webgithub.com/django/django/commit/e7c3a2ccc3a562328600be05068ed9149e12ce64 ↗
- Webgithub.com/django/django/commit/eed53d0011622e70b936e203005f0e6f4ac48965 ↗
- Webdocs.djangoproject.com/en/4.2/releases/security ↗
- Packagegithub.com/django/django ↗
- Webgithub.com/pypa/advisory-database/tree/main/vulns/django/PYSEC-2023-61.yaml ↗
- Webgroups.google.com/forum/#!forum/django-announce ↗
- Weblists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/A45VKTUVQ2BN6D5ZLZGCM774R6QGFOHW ↗
- Weblists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/DNEHD6N435OE2XUFGDAAVAXSYWLCUBFD ↗
- Websecurity.netapp.com/advisory/ntap-20230609-0008 ↗
- Webwww.djangoproject.com/weblog/2023/may/03/security-releases ↗