CVE-2024-47874 json
Starlette Denial of service (DoS) via multipart/form-data
published 2024-10-15 2 y ago modified 2026-09-10 1 mo ago also EUVD-2024-3029 , GHSA-f96h-pmfr-66vw , PYSEC-2026-1943
- cvss
- 0.0
- version 3.1, GitHub
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.7%
- EPSS 0.7% chance of exploitation in 30 days, percentile 51%
- public exploits
- 0
- none known
Summary
Starlette is an Asynchronous Server Gateway Interface (ASGI) framework/toolkit. Prior to version 0.40.0, Starlette treats `multipart/form-data` parts without a `filename` as text form fields and buffers those in byte strings with no size limit. This allows an attacker to upload arbitrary large form fields and cause Starlette to both slow down significantly due to excessive memory allocations and copy operations, and also consume more and more memory until the server starts swapping and grinds to a halt, or the OS terminates the server process with an OOM error. Uploading multiple such requests in parallel may be enough to render a service practically unusable, even if reasonable request size limits are enforced by a reverse proxy in front of Starlette. This Denial of service (DoS) vulnerability affects all applications built with Starlette (or FastAPI) accepting form requests. Verison 0.40.0 fixes this issue.
Patch / fix
- pypi starlette 0.40.0
- encode starlette 0.40.0
- starlette Debian 12 0.26.1-1+deb12u1
- starlette Debian 14, Debian 13 0.41.0-1
debian advisories DEBIAN-CVE-2024-47874
- python-starlette openSUSE Leap 15.6 0.35.1-150600.3.3.1
suse advisories SUSE-SU-2024:3719-1
- python-starlette openSUSE Tumbleweed 1.6.0-1.1
- python-starlette openSUSE Tumbleweed 0.41.0-1.1
opensuse advisories openSUSE-SU-2026:11626-1openSUSE-SU-2024:14417-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-47874 updated cvss 7.5
starlette: Starlette Denial of service (DoS) via multipart/form-data
-
Red Hat OpenShift Lightspeed lightspeed-service-api-rhel9affected: no fix planned “Will not fix”
-
Red Hat Enterprise Linux AI (RHEL AI) bootc-amd-rhel9, bootc-nvidia-rhel9, instructlab-amd-rhel9, instructlab-nvidia-rhel9affected: no fix available, no fix planned “Will not fix”
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
0.65% chance of exploitation in the next 30 days, higher than 51% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 8.7 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N |
| GitHub | 3.1 | 0.0 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:N |
| CNA | 4.0 | 8.7 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
| OSV | 3.1 | 0.0 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | starlette | <0.40.0 |
0.40.0 |
Affected products
- encode starlette
Classification
- Weakness
-
- CWE-770 Allocation of Resources Without Limits or Throttling
References
-
github.com
/encode/starlette/commit/fd038f3070c302bff17ef7d173dbb0b007617733
web, patch
-
github.com
/encode/starlette/security/advisories/GHSA-f96h-pmfr-66vw
web
-
nvd.nist.gov
/vuln/detail/CVE-2024-47874
advisory
-
github.com
/encode/starlette
package
-
pypi.org
/project/starlette
package
-
github.com
/advisories/GHSA-f96h-pmfr-66vw
advisory
Sources
- CVE List CVE-2024-47874
- GitHub Advisory GHSA-f96h-pmfr-66vw
- NVD CVE-2024-47874
- OSV PYSEC-2026-1943
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.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.