CVE-2026-42561: Python-Multipart: Denial of Service via unbounded multipart part headers
Python-Multipart is a streaming multipart parser for Python. Prior to 0.0.27, python-multipart has a denial of service vulnerability in multipart part header parsing. When parsing multipart/form-data, MultipartParser previously had no limit on the number of part headers or the size of an individual part header. An attacker could send a request with either many repeated headers without terminating the header block or a single very large header value, causing excessive CPU work before request rejection or completion. This vulnerability is fixed in 0.0.27.
Security readout for executives and security teams
Plain-English summary
Affected web applications can be slowed or made unavailable when they process specially structured form-data requests. The flaw consumes excessive CPU before parsing finishes or rejects the request. It does not affect confidentiality or data integrity according to the supplied CVSS assessment.
Executive priority
Treat this as an urgent availability risk for public-facing forms and upload services. Patch exposed production systems within the organization’s high-severity remediation window, accelerating services where downtime would disrupt customers or critical operations. There is no supplied evidence of data theft or active exploitation.
Technical view
Before version 0.0.27, python-multipart’s MultipartParser did not limit multipart part-header count or individual header size. Requests containing excessive repeated headers or an oversized header value can trigger disproportionate CPU consumption, causing denial of service. The supplied CVSS 3.1 score is 7.5.
Likely exposure
Exposure is most likely in network-accessible Python services using python-multipart below 0.0.27 to process multipart/form-data, including direct or transitive dependencies. Risk is greater for unauthenticated, internet-facing upload or form endpoints. Services not parsing multipart/form-data are less likely to be reachable through this flaw.
Exploitation context
The attack requires network access but no privileges or user interaction, with low stated complexity. The supplied bundle marks this CVE as absent from KEV and provides no evidence of active exploitation. Public proof-of-concept availability is not established by the provided evidence.
Researcher notes
The weakness concerns missing bounds on part-header count and per-header size, mapped to CWE-606 and CWE-770. Impact is CPU exhaustion during parsing rather than confidentiality or integrity loss. Validate exposure at runtime because frameworks may include python-multipart transitively. The supplied evidence does not quantify request volume, resource amplification, or affected framework configurations.
Mitigation direction
Upgrade python-multipart to version 0.0.27 or later.
Apply relevant distribution fixes when python-multipart is managed through an operating-system package.
Prioritize internet-facing services that accept multipart/form-data without authentication.
Check vendor guidance before using compensating controls if immediate upgrading is impossible.
Validation and detection
Inventory direct and transitive python-multipart installations across deployed services.
Confirm runtime versions are 0.0.27 or later, not only lockfile declarations.
Identify public routes that accept multipart/form-data and map them to affected services.
Run defensive regression tests confirming abnormal multipart headers are rejected without sustained CPU consumption.
Monitor CPU, latency, and rejected multipart requests for unusual increases.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-606: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-606 · source CWE mapping
Unchecked Input for Loop Condition
Unchecked Input for Loop Condition represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.
Allocation of Resources Without Limits or Throttling
Allocation of Resources Without Limits or Throttling represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.