{"schema_version":"1.9.0","id":"CVE-2023-31047","published":"2023-05-07T00:00:00Z","modified":"2026-08-12T03:51:16.089476837Z","aliases":["BIT-django-2023-31047","GHSA-r3xc-prgr-mg9p","PYSEC-2023-61"],"related":["SUSE-SU-2023:2839-1","openSUSE-SU-2024:12943-1","openSUSE-SU-2024:14208-1","openSUSE-SU-2026:10005-1","openSUSE-SU-2026:11235-1","openSUSE-SU-2026:11248-1","openSUSE-SU-2026:11270-1"],"details":"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.","affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/django/django","events":[{"introduced":"3591e1c1acbd7c13174275367c3fdf012cb0413b"},{"fixed":"fc42edd2e63e89a80e7ca81486291f74359ef8be"},{"introduced":"ef62a3a68c9d558486145a42c0d71ea9a76add9e"},{"fixed":"dceb634ba42d3a182ea653dce31a529017f75a95"},{"introduced":"97aa3b7f08f51669e118f3af5ca91026e39664c3"},{"last_affected":"e829b0a239cffdeab5781df450a6b0e0026faa2d"}],"database_specific":{"cpe":["cpe:2.3:a:djangoproject:django:*:*:*:*:*:*:*:*","cpe:2.3:a:djangoproject:django:4.2:-:*:*:*:*:*:*","cpe:2.3:a:djangoproject:django:4.2:b1:*:*:*:*:*:*","cpe:2.3:a:djangoproject:django:4.2:rc1:*:*:*:*:*:*"],"extracted_events":[{"introduced":"3.2"},{"fixed":"3.2.19"},{"introduced":"4.0"},{"fixed":"4.1.9"},{"introduced":"4.2-NA"},{"last_affected":"4.2-NA"},{"introduced":"4.2-b1"},{"last_affected":"4.2-b1"},{"introduced":"4.2-rc1"},{"last_affected":"4.2-rc1"}],"source":["CPE_RANGE","CPE_STRING"]}}],"versions":["4.2-NA","4.2-b1","4.2-rc1"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2023-31047.json"}}],"references":[{"type":"WEB","url":"https://docs.djangoproject.com/en/4.2/releases/security/"},{"type":"WEB","url":"https://groups.google.com/forum/#%21forum/django-announce"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/31xxx/CVE-2023-31047.json"},{"type":"ADVISORY","url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/A45VKTUVQ2BN6D5ZLZGCM774R6QGFOHW/"},{"type":"ADVISORY","url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/DNEHD6N435OE2XUFGDAAVAXSYWLCUBFD/"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2023-31047"},{"type":"ADVISORY","url":"https://security.netapp.com/advisory/ntap-20230609-0008/"},{"type":"ARTICLE","url":"https://www.djangoproject.com/weblog/2023/may/03/security-releases/"}],"database_specific":{"cna_assigner":"mitre","osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/31xxx/CVE-2023-31047.json","unresolved_ranges":[{"extracted_events":[{"introduced":"3.2"},{"fixed":"3.2.19"},{"introduced":"4.x"},{"fixed":"4.1.9"},{"introduced":"4.2"},{"fixed":"4.2.1"}],"source":"DESCRIPTION"}]},"severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"}]}