Vulnerability · Published Feb 5, 2024 · Assigned by GitHub_M
CVE-2024-24762python-multipart vulnerable to content-type header Regular expression Denial of Service
High 7.5
In plain English
A high-severity uncontrolled resource consumption in starlette from encode. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 1.5% (higher than 75% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
`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.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian:12 | python-multipart | no fix listed | DEBIAN-CVE-2024-24762 |
| Debian:13 | python-multipart | 0.0.9-1 | DEBIAN-CVE-2024-24762 |
| Debian:14 | python-multipart | 0.0.9-1 | DEBIAN-CVE-2024-24762 |
| PyPI | fastapi | 0.109.1 | PYSEC-2024-38 |
| PyPI | fastapi | 0.109.1 | GHSA-qf9m-vfgh-m389 |
| PyPI | python-multipart | 0.0.7 | PYSEC-2026-1850 |
| PyPI | python-multipart | 0.0.7 | GHSA-2jv5-9r88-3w3p |
Affected products (as reported)
Weakness: CWE-400 · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
References
- https://github.com/Kludex/python-multipart/security/advisories/GHSA-2jv5-9r88-3w3p x_refsource_CONFIRM
- https://github.com/Kludex/python-multipart/commit/20f0ef6b4e4caf7d69a667c54dff57fe467109a4 x_refsource_MISC
- https://github.com/tiangolo/fastapi/security/advisories/GHSA-qf9m-vfgh-m389 x_refsource_MISC
- https://github.com/encode/starlette/security/advisories/GHSA-93gm-qmq6-w238 x_refsource_MISC
- https://github.com/andrew-d/python-multipart/blob/d3d16dae4b061c34fe9d3c9081d9800c49fc1f7a/multipart/multipart.py#L72-L74 x_refsource_MISC
- https://github.com/encode/starlette/commit/13e5c26a27f4903924624736abd6131b2da80cc5 x_refsource_MISC
- https://github.com/tiangolo/fastapi/commit/9d34ad0ee8a0dfbbcce06f76c2d5d851085024fc x_refsource_MISC
- https://github.com/tiangolo/fastapi/releases/tag/0.109.1 x_refsource_MISC