CVE-2024-24762 json
python-multipart vulnerable to content-type header Regular expression Denial of Service
published 2024-02-05 2 y ago modified 2026-09-10 1 mo ago also GHSA-2jv5-9r88-3w3p , GHSA-qf9m-vfgh-m389 , PYSEC-2024-38 , PYSEC-2026-1850 , EUVD-2024-0059
- cvss
- 7.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.5%
- EPSS 1.5% chance of exploitation in 30 days, percentile 74%
- public exploits
- 0
- none known
Summary
`python-multipart` is a streaming multipart parser for Python. When using form data, `python-multipart` uses a Regular Expression to parse the HTTP `Content-Type` header, including options. An attacker could send a custom-made `Content-Type` option that is very difficult for the RegEx to process, consuming CPU resources and stalling indefinitely (minutes or more) while holding the main event loop. This means that process can't handle any more requests, leading to regular expression denial of service. This vulnerability has been patched in version 0.0.7.
Patch / fix
- pypi python-multipart 0.0.7
- pypi fastapi 0.109.1
- Kludex python-multipart 0.0.7
- tiangolo fastapi 0.109.1
- encode starlette 0.36.2
- python-multipart Debian 14, Debian 13 0.0.9-1
debian advisories DEBIAN-CVE-2024-24762
- python-multipart Ubuntu Pro 22.04 LTS 0.0.5-2ubuntu0.1~esm1
ubuntu advisories UBUNTU-CVE-2024-24762
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- python-python-multipart openSUSE Tumbleweed 0.0.32-1.3
- python-fastapi openSUSE Tumbleweed 0.138.0-2.1
opensuse advisories openSUSE-SU-2026:12032-1openSUSE-SU-2026:11710-1
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2024-24762 updated cvss 7.5
python-fastapi: regular expression denial of service vulnerability
-
Red Hat All currently supported Red Hat productsnot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 2 y ago
Exploit prediction
1.52% chance of exploitation in the next 30 days, higher than 74% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/Kludex/python-multipart/security/advisories/GHSA-2jv5-9r88-3w3p referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| NVD | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| GitHub | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| OSV | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | python-multipart | <0.0.7 |
0.0.7 |
| pypi | fastapi | <0.109.1 |
0.109.1 |
Affected products
- Kludex python-multipart
- tiangolo fastapi
- encode starlette
Classification
References
-
github.com
/Kludex/python-multipart/commit/20f0ef6b4e4caf7d69a667c54dff57fe467109a4
web, patch
-
github.com
/encode/starlette/commit/13e5c26a27f4903924624736abd6131b2da80cc5
web, patch
-
github.com
/tiangolo/fastapi/commit/9d34ad0ee8a0dfbbcce06f76c2d5d851085024fc
web, patch
-
github.com
/Kludex/python-multipart/security/advisories/GHSA-2jv5-9r88-3w3p
web, exploit, vendor-advisory
-
github.com
/tiangolo/fastapi/security/advisories/GHSA-qf9m-vfgh-m389
web, broken-link, advisory
-
github.com
/encode/starlette/security/advisories/GHSA-93gm-qmq6-w238
web, broken-link
-
github.com
/andrew-d/python-multipart/blob/d3d16dae4b061c34fe9d3c9081d9800c49fc1f7a/multipart/multipart.py#L72-L74
web, product
-
github.com
/tiangolo/fastapi/releases/tag/0.109.1
web, product
-
nvd.nist.gov
/vuln/detail/CVE-2024-24762
advisory
-
github.com
/github/advisory-database/pull/4829
web
-
github.com
/Kludex/python-multipart
package
-
github.com
/pypa/advisory-database/tree/main/vulns/fastapi/PYSEC-2024-38.yaml
web
-
github.com
/tiangolo/fastapi
package
-
pypi.org
/project/python-multipart
package
-
github.com
/advisories/GHSA-2jv5-9r88-3w3p
advisory
Sources
- CVE List CVE-2024-24762
- GitHub Advisory GHSA-2jv5-9r88-3w3p
- GitHub Advisory GHSA-qf9m-vfgh-m389
- NVD CVE-2024-24762
- OSV PYSEC-2024-38
- OSV PYSEC-2026-1850
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.