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 products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Kludex | python-multipart | < 0.0.7 | 0.0.7 |
| tiangolo | fastapi | < 0.109.1 | 0.109.1 |
| encode | starlette | < 0.36.2 | 0.36.2 |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | python-multipart | 0.0.9-1 | — |
| Debian 13 | python-multipart | 0.0.9-1 | — |
| Debian 12 | python-multipart | No fix yet | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Pro 24.04 LTS | python-multipart | 0.0.9-1ubuntu0.1~esm1 | USN-8027-1 |
| Ubuntu Pro 22.04 LTS | python-multipart | 0.0.5-2ubuntu0.1~esm1 | USN-8027-1 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Tumbleweed | python-fastapi | 0.138.0-2.1 | openSUSE-SU-2026:11710-1 |
| openSUSE Tumbleweed | python-python-multipart | 0.0.32-1.3 | openSUSE-SU-2026:12032-1 |
Wolfi
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Wolfi rolling | reflex | 0.4.0-r0 | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| PyPI | fastapi | < 0.109.1 | 0.109.1 | PYSEC-2024-38 |
| PyPI | python-multipart | < 0.0.7 | 0.0.7 | GHSA-2jv5-9r88-3w3p |
Advisories 4
- USN-8027-1 python-multipart vulnerabilities Ubuntu Security Notices (USN) · Oct 27, 2026
- openSUSE-SU-2026:12032-1 python313-python-multipart-0.0.32-1.3 on GA media SUSE / openSUSE Security Updates · Oct 5, 2026
- openSUSE-SU-2026:11710-1 python313-fastapi-0.138.0-2.1 on GA media SUSE / openSUSE Security Updates · Sep 8, 2026
- WID-SEC-2024-0592 IBM App Connect Enterprise: Schwachstelle ermöglicht Denial of Service BSI CERT-Bund (WID) · Apr 1, 2024
References
- https://github.com/Kludex/python-multipart/security/advisories/GHSA-2jv5-9r88-3w3p
- https://github.com/Kludex/python-multipart/commit/20f0ef6b4e4caf7d69a667c54dff57fe467109a4
- https://github.com/tiangolo/fastapi/security/advisories/GHSA-qf9m-vfgh-m389
- https://github.com/encode/starlette/security/advisories/GHSA-93gm-qmq6-w238
- https://github.com/andrew-d/python-multipart/blob/d3d16dae4b061c34fe9d3c9081d9800c49fc1f7a/multipart/multipart.py#L72-L74
- https://github.com/encode/starlette/commit/13e5c26a27f4903924624736abd6131b2da80cc5
- https://github.com/tiangolo/fastapi/commit/9d34ad0ee8a0dfbbcce06f76c2d5d851085024fc
- https://github.com/tiangolo/fastapi/releases/tag/0.109.1