Read the docs
TI-2026-38612 Aliases CVE-2026-53539GHSA-5rvq-cxj2-64vf

Python-Multipart: Quadratic-time querystring parsing with semicolon separators causes CPU denial of service

Priority LOW 39CWE-400Published · 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 · High
Fix status
Partial Red Hat: 9 without a fix

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

Summary

Python-Multipart is a streaming multipart parser for Python. Prior to 0.0.30, when parsing application/x-www-form-urlencoded bodies, QuerystringParser located the field separator with a two step lookup: it first scanned the entire remaining buffer for &, and only when no & existed anywhere ahead did it fall back to scanning for ;. For a body that uses ; as the separator and contains no &, every field iteration performed a full failed & scan over the entire remaining buffer before locating the nearby ;. With N semicolon separated fields in a chunk of size B, this yields O(B^2) byte comparisons per chunk. An attacker can submit a small crafted body of the form a;a;a;... and cause the parser to spend seconds of CPU per request. A handful of concurrent requests can exhaust worker processes. This vulnerability is fixed in 0.0.30.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.0046 40th percentileScored 2026-11-07
Fix Partial python-multipart (Kludex): 0.0.30python-multipart (PyPI): 0.0.30Red Hat: 9 without a fix

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
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
Kludexpython-multipartbefore 0.0.300.0.30Patch availableCNA
—python-multipart (PyPI)before 0.0.300.0.30Patch availableGHSA-5rvq-cxj2-64vf
  • python-multipart VendorKludex Affected before 0.0.30 Fixed in 0.0.30 Patch available CNA
  • python-multipart (PyPI) Vendor— Affected before 0.0.30 Fixed in 0.0.30 Patch available GHSA-5rvq-cxj2-64vf

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:fastapiexpert:python-multipart:*:*:*:*:*:python:*:*before 0.0.30VulnerableFastapiexpert
  • cpe:2.3:a:fastapiexpert:python-multipart:*:*:*:*:*:python:*:* Versions before 0.0.30 Vulnerable ·Fastapiexpert

Remediation

  • Fix · CNA python-multipart (Kludex) Fixed in 0.0.30
  • Fix · GHSA-5rvq-cxj2-64vf python-multipart (PyPI) Fixed in 0.0.30 Advisory →

Vendor assessments

Red Hat

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

ProductStatusPlan or fix
Exploit IntelligenceAffectedNo fix yet: Fix deferred
Migration Toolkit for Applications 8AffectedNo fix yet: Fix deferred
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) 3AffectedNo fix yet: Fix deferred
Red Hat OpenShift AI (RHOAI)AffectedNo fix yet: Fix deferred
Red Hat OpenShift Virtualization 4AffectedNo fix yet: Fix deferred
Red Hat Satellite 6AffectedNo fix yet: Fix deferred
Not affected: 3 products
  • Lightspeed Core
  • Red Hat Enterprise Linux command line assistant
  • Red Hat Hardened Images

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-53539
  2. 2026-10-03 Alias added: GHSA-5rvq-cxj2-64vf

References

  • TI-2025-38917 Starlette vulnerable to O(n^2) DoS via Range header merging in starlette.responses.FileResponse CVSS 3.1HIGH 7.5
  • TI-2026-30841 Python-Multipart: Denial of Service via unbounded multipart part headers CVSS 3.1HIGH 7.5
  • TI-2024-36140 python-multipart has a Denial of service (DoS) via deformation `multipart/form-data` boundary CVSS 3.1HIGH 7.5

Sources