Read the docs
TI-2025-33964 Aliases CVE-2025-54121GHSA-2c2j-9gv5-cj73

Starlette has possible denial-of-service vector when parsing large files in multipart forms

Priority MEDIUM 57CWE-770Published · Updated

Key facts

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

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

Summary

Starlette is a lightweight ASGI (Asynchronous Server Gateway Interface) framework/toolkit, designed for building async web services in Python. In versions 0.47.1 and below, when parsing a multi-part form with large files (greater than the default max spool size) starlette will block the main thread to roll the file over to disk. This blocks the event thread which means the application can't accept new connections. The UploadFile code has a minor bug where instead of just checking for self._in_memory, the logic should also check if the additional bytes will cause a rollover. The vulnerability is fixed in version 0.47.2.

Why it matters now

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

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
No
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.47.20.47.2Patch availableCNA
—starlette (PyPI)before 0.47.20.47.2Patch availableGHSA-2c2j-9gv5-cj73
  • starlette Vendorencode Affected before 0.47.2 Fixed in 0.47.2 Patch available CNA
  • starlette (PyPI) Vendor— Affected before 0.47.2 Fixed in 0.47.2 Patch available GHSA-2c2j-9gv5-cj73

Remediation

  • Fix · CNA starlette (encode) Fixed in 0.47.2
  • Fix · GHSA-2c2j-9gv5-cj73 starlette (PyPI) Fixed in 0.47.2 Advisory →

Vendor assessments

Red Hat

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

ProductStatusPlan or fix
OpenShift LightspeedAffectedNo fix yet: Fix deferred
Red Hat AI Inference ServerAffectedNo fix yet: Fix deferred
Red Hat Ansible Automation Platform 2AffectedNo fix yet: Fix deferred
Red Hat Enterprise Linux AI (RHEL AI)AffectedNo fix yet: Fix deferred
Red Hat OpenShift AI (RHOAI)AffectedNo fix yet: Fix deferred
Red Hat Satellite 6AffectedNo fix yet: Fix deferred

Timeline

  1. 2026-10-02 Threatist record created from CVE-2025-54121
  2. 2026-10-03 Alias added: GHSA-2c2j-9gv5-cj73
  3. 2026-10-23 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-2024-32128 Starlette Denial of service (DoS) via multipart/form-data CVSS 4.0HIGH 8.7
  • 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
See all 18 →

Sources