CVE-2023-30798 MultipartParser DOS with too many fields or files in Starlette Framework
An unauthenticated remote attacker can cause denial of service in Starlette by sending excessive form fields or files, leading to memory exhaustion.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2023-30798?
CVE-2023-30798 is a high-severity denial of service vulnerability in Encode Starlette, published on 21 Apr 2023. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
There MultipartParser usage in Encode's Starlette python framework before versions 0.25.0 allows an unauthenticated and remote attacker to specify any number of form fields or files which can cause excessive memory usage resulting in denial of service of the HTTP service.
Weakness: CWE-400
Which versions are affected by CVE-2023-30798?
3 open source packages ship an affected version, including starlette. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
starlette PyPI | All versions | 0.25.0 |
starlette PyPI | All versions | 0.25.0 |
starlette PyPI | All versions | 0.25.0 |
Products include Encode Starlette.
How do I fix CVE-2023-30798?
Upgrade starlette to 0.25.0 or later.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is CVE-2023-30798 being exploited?
There is no known exploitation of CVE-2023-30798 in the wild and no public exploit code.
Other vulnerabilities in Encode Starlette
- CVE-2026-48710 Kludex Starlette HTTP Request/Response Smuggling
- CVE-2026-54283 Starlette: request.form() limits silently ignored for application/x-www-form-urlencoded enable DoS
- CVE-2026-48818 Starlette: SSRF and NTLM credential theft via UNC paths in StaticFiles on Windows
- CVE-2023-29159 Starlette has Path Traversal vulnerability in StaticFiles
- CVE-2026-48817 Starlette: Arbitrary HTTP method dispatched to `HTTPEndpoint` attributes via `getattr`
Sources
Also known as CLSA-2026-1769040755, DEBIAN-CVE-2023-30798, GHSA-74m5-2c7w-9w3x, PYSEC-2023-48, ROOT-APP-PYPI-CVE-2023-30798, UBUNTU-CVE-2023-30798.