Skip to content
Heist/ feed
Back to feed
CriticalFix available

python-django — security advisory

Type: advisorySources: OSVAdvisory ID: DEBIAN-CVE-2023-31047

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.

Products
python-django
Affected versions
Not specified
Fixed versions
3:3.2.19-1
CVEs
CVE-2023-31047
Confirmed fixed CVEs
Not specified
Updated in this feed
1 Nov 2026, 15:48 UTC · Revision 1

Source evidence

DEBIAN-CVE-2023-31047

core-osv · Original source

Published 7 May 2023, 02:15 UTC

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.

osv:DEBIAN-CVE-2023-31047

python-django

Fixed versions: 3:3.2.19-1

python-django

Fixed versions: 3:3.2.19-1

python-django

Fixed versions: 3:3.2.19-1

Complete source record
{
  "id": "1dff50e27a3916a614eb73ee4835a5fb5394c5cab979a37b2842144aff677883",
  "url": "https://osv.dev/vulnerability/DEBIAN-CVE-2023-31047",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "DEBIAN-CVE-2023-31047",
    "summary": "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.",
    "evidence": "osv:DEBIAN-CVE-2023-31047",
    "products": [
      {
        "name": {
          "value": "python-django",
          "evidence": "/affected/0/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "3:3.2.19-1",
            "evidence": "/affected/0/ranges"
          }
        ],
        "affected_versions": []
      },
      {
        "name": {
          "value": "python-django",
          "evidence": "/affected/1/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "3:3.2.19-1",
            "evidence": "/affected/1/ranges"
          }
        ],
        "affected_versions": []
      },
      {
        "name": {
          "value": "python-django",
          "evidence": "/affected/2/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "3:3.2.19-1",
            "evidence": "/affected/2/ranges"
          }
        ],
        "affected_versions": []
      }
    ],
    "severity": "critical",
    "structured": {
      "id": "DEBIAN-CVE-2023-31047",
      "aliases": [
        "DEBIAN-CVE-2023-31047"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "3:3.2.19-1"
                }
              ]
            }
          ],
          "package": {
            "name": "python-django",
            "purl": "pkg:deb/debian/python-django?arch=source&distro=bookworm",
            "ecosystem": "Debian:12"
          },
          "database_specific": {
            "source": "https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2023-31047.json"
          },
          "ecosystem_specific": {
            "urgency": "not yet assigned"
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "3:3.2.19-1"
                }
              ]
            }
          ],
          "package": {
            "name": "python-django",
            "purl": "pkg:deb/debian/python-django?arch=source&distro=trixie",
            "ecosystem": "Debian:13"
          },
          "database_specific": {
            "source": "https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2023-31047.json"
          },
          "ecosystem_specific": {
            "urgency": "not yet assigned"
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "3:3.2.19-1"
                }
              ]
            }
          ],
          "package": {
            "name": "python-django",
            "purl": "pkg:deb/debian/python-django?arch=source&distro=forky",
            "ecosystem": "Debian:14"
          },
          "database_specific": {
            "source": "https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2023-31047.json"
          },
          "ecosystem_specific": {
            "urgency": "not yet assigned"
          }
        }
      ],
      "modified": "2026-10-26T18:01:49.857593685Z",
      "provider": "osv",
      "upstream": [
        "CVE-2023-31047"
      ],
      "references": [
        "https://security-tracker.debian.org/tracker/CVE-2023-31047"
      ]
    },
    "related_cves": [
      {
        "value": "CVE-2023-31047",
        "evidence": "/upstream"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 455719,
  "published_at": "2023-05-07T02:15:08.917+00:00"
}