Read the docs
TI-2024-32128 Aliases CVE-2024-47874GHSA-f96h-pmfr-66vw

Starlette Denial of service (DoS) via multipart/form-data

Priority HIGH 77CWE-770Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Attack requirements
None
Impact type
Denial of service
Confidentiality · integrity · availability
None · None · High
Fix status
Partial Red Hat: 2 without a fix

Attack profile from CVSS 4.0 · CNA. Fix status from CNA, GitHub and Red Hat. Impact type from CWE-770.

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.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00653 51st percentileScored 2026-11-07
Fix Partial starlette (encode): 0.40.0starlette (PyPI): 0.40.0Red Hat: 2 without a fix

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
Yes
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
encodestarlettebefore 0.40.00.40.0Patch availableCNA
—starlette (PyPI)before 0.40.00.40.0Patch availableGHSA-f96h-pmfr-66vw
  • starlette Vendorencode Affected before 0.40.0 Fixed in 0.40.0 Patch available CNA
  • starlette (PyPI) Vendor— Affected before 0.40.0 Fixed in 0.40.0 Patch available GHSA-f96h-pmfr-66vw

CPE names CISA-ADP · 1

CPEVersionsRoleVendor
cpe:2.3:a:encode:starlette:*:*:*:*:*:python:*:*——encode
  • cpe:2.3:a:encode:starlette:*:*:*:*:*:python:*:* Versions — — ·encode

Remediation

  • Fix · CNA starlette (encode) Fixed in 0.40.0
  • Fix · GHSA-f96h-pmfr-66vw starlette (PyPI) Fixed in 0.40.0 Advisory →

Vendor assessments

Red Hat

Red Hat rating: Important. Red Hat's page for this CVE →

ProductStatusPlan or fix
OpenShift LightspeedAffectedNo fix planned: Will not fix
Red Hat Enterprise Linux AI (RHEL AI)AffectedNo fix yet

Timeline

  1. 2026-10-02 Threatist record created from CVE-2024-47874
  2. 2026-10-03 Alias added: GHSA-f96h-pmfr-66vw
  3. 2026-10-14 EPSS moved to the 50th–90th percentile

References

  • TI-2026-35991 Starlette has missing Host header validation that poisons request.url.path, bypassing path-based security checks KEVCVSS 3.1MEDIUM 6.5
  • TI-2026-78981 Django REST framework Accept header parsing causes excessive CPU use CVSS 3.1HIGH 7.5
  • TI-2026-78978 Django REST framework JSONParser accepts attacker-chosen codecs CVSS 3.1HIGH 7.5
  • TI-2024-16279 python-multipart vulnerable to content-type header Regular expression Denial of Service CVSS 3.1HIGH 7.5
  • TI-2023-13590 Path traversal in encode Starlette CVSS 3.1HIGH 7.5
  • TI-2026-51365 Uncontrolled resource consumption in encode django-rest-framework CVSS 3.1MEDIUM 5.3
See all 18 →

Sources