Python Multipart
Approved changes feed: RSS · Atom
cpe:2.3:a:kludex:python-multipart:*:*:*:*:*:*:*:*
part: a version: * update: *
| Vendor | Kludex (f26dcdcf-6120-5e3f-8982-d2e80d4d7199) |
|---|---|
| Product | Python Multipart (093e232d-0563-5b44-b75b-8130ac13bb47) |
| Edition | * |
| Language | * |
| Software edition | * |
| Target software | * |
| Target hardware | * |
| Other | * |
| Notes | Imported from gcve-enriched-dumps CVE data |
PURL mappings
| PURL | Source | Last updated |
|---|---|---|
| No PURL mappings for this CPE yet. | ||
Vulnerability references
| Identifier | cpeApplicability | Submitted | db.gcve.eu details | Rationale |
|---|---|---|---|---|
CVE:CVE-2026-53540 |
vulnerable | 2026-07-29 01:00:27.074419 |
Python-Multipart: Negative Content-Length in parse_form buffers the entire body in memory
LOW (3.7)
Python-Multipart is a streaming multipart parser for Python. Prior to 0.0.31, parse_form() did not validate the Content-Length header before using it to bound its chunked read of the request body. A negative Content-Length turned the bounded read into a read-until-EOF, so the entire body was loaded into memory in a single read instead of in fixed-size chunks. This vulnerability is fixed in 0.0.31.
Published: 2026-06-22T16:58:54.923Z
Updated: 2026-06-22T17:21:55.932Z |
Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2026-53539 |
vulnerable | 2026-07-29 01:00:27.074230 |
Python-Multipart: Quadratic-time querystring parsing with semicolon separators causes CPU denial of service
HIGH (7.5)
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.
Published: 2026-06-22T16:55:42.787Z
Updated: 2026-06-23T16:08:36.474Z |
Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2026-53538 |
vulnerable | 2026-07-29 01:00:27.074017 |
Python-Multipart: Semicolon treated as querystring field separator enables parameter smuggling
LOW (3.7)
Python-Multipart is a streaming multipart parser for Python. Prior to 0.0.30, QuerystringParser treated ; as a field separator in application/x-www-form-urlencoded bodies, in addition to &. The WHATWG URL standard, modern browsers, and Python's urllib.parse (since the CVE-2021-23336 fix) treat only & as a separator. This creates a parser differential: the same bytes are tokenized into different fields than a WHATWG compliant intermediary would produce, allowing an attacker to smuggle extra form fields past an upstream body inspecting component. This vulnerability is fixed in 0.0.30.
Published: 2026-06-22T16:56:32.628Z
Updated: 2026-06-23T16:08:22.050Z |
Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2026-53537 |
vulnerable | 2026-07-29 01:00:27.073643 |
Python-Multipart: Content-Disposition parameter smuggling via RFC 2231/5987 extended parameters
LOW (3.7)
Python-Multipart is a streaming multipart parser for Python. Prior to 0.0.30, parse_options_header parsed Content-Disposition (and Content-Type) headers with email.message.Message, which transparently applies RFC 2231/5987 decoding. The extended parameter syntax (filename*=charset'lang'value, name*=..., and the filename*0/filename*1 continuation form) is decoded and surfaced under the bare filename/name key, and overrides the plain parameter when both are present. RFC 7578 §4.2 explicitly forbids the filename* form in multipart/form-data. Components that follow RFC 7578, or that do not implement RFC 2231/5987 decoding for multipart/form-data (WAFs, proxies, gateways), may interpret such a header differently. An attacker can exploit that difference to smuggle a different field name or filename past an upstream inspector to the backend. This vulnerability is fixed in 0.0.30.
Published: 2026-06-22T16:57:21.496Z
Updated: 2026-06-23T16:08:07.690Z |
Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2026-42561 |
vulnerable | 2026-06-08 08:03:16.515352 |
Python-Multipart: Denial of Service via unbounded multipart part headers
HIGH (7.5)
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.
Published: 2026-05-13T20:55:11.767Z
Updated: 2026-08-07T12:04:48.215Z |
Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2026-40347 |
vulnerable | 2026-06-08 08:01:20.200974 | db.gcve.eu details were skipped to keep the page responsive. | Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2026-24486 |
vulnerable | 2026-06-08 07:51:17.750960 | db.gcve.eu details were skipped to keep the page responsive. | Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2024-53981 |
vulnerable | 2026-06-08 06:54:15.800944 | db.gcve.eu details were skipped to keep the page responsive. | Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2024-24762 |
vulnerable | 2026-06-08 06:29:41.673778 | db.gcve.eu details were skipped to keep the page responsive. | Imported from gcve-enriched-dumps CVE data |
Contribute
You can submit an edit proposal for this CPE entry or suggest a related product/vendor addition using the action button above.