Django security releases issued: 4.2.1, 4.1.9, and 3.2.19

Posted by Mariusz Felisiak on May 3, 2023

In accordance with our security release policy, the Django team is issuing Django 4.2.1, Django 4.1.9, and Django 3.2.19. These releases addresses the security issue detailed below. We encourage all users of Django to upgrade as soon as possible.

CVE-2023-31047: Potential bypass of validation when uploading multiple files using one form field

Uploading multiple files using one form field has never been supported by forms.FileField or forms.ImageField as only the last uploaded file was validated. Unfortunately, Uploading multiple files topic suggested otherwise.

In order to avoid the vulnerability, ClearableFileInput and FileInput form widgets now raise ValueError when the multiple HTML attribute is set on them. To prevent the exception and keep the old behavior, set allow_multiple_selected to True.

For more details on using the new attribute and handling of multiple files through a single field, see Uploading multiple files.

Thanks Moataz Al-Sharida and nawaik for reports.

This issue has severity "low" according to the Django security policy.

Affected supported versions

  • Django main branch
  • Django 4.2
  • Django 4.1
  • Django 3.2


Patches to resolve the issue have been applied to Django's main branch and the 4.2, 4.1, and 3.2 release branches. The patches may be obtained from the following changesets:

The following releases have been issued:

The PGP key ID used for this release is Mariusz Felisiak: 2EF56372BA48CD1B.

General notes regarding security reporting

As always, we ask that potential security issues be reported via private email to, and not via Django's Trac instance or the django-developers list. Please see our security policies for further information.

Back to Top