CVE-2023-30798 MultipartParser DOS with too many fields or files in Starlette Framework

High 7.5 Published Updated

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.

PackageAffectedFixed in
starlette PyPIAll versions0.25.0
starlette PyPIAll versions0.25.0
starlette PyPIAll versions0.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.

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.

Is CVE-2023-30798 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free