CVE-2026-53539 json
Python-Multipart: Quadratic-time querystring parsing with semicolon separators causes CPU denial of service
published 2026-06-15 4 mo ago modified 2026-10-25 14 d ago also EUVD-2026-38322 , GHSA-5rvq-cxj2-64vf , PYSEC-2026-3036
- cvss
- 7.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.5%
- EPSS 0.5% chance of exploitation in 30 days, percentile 40%
- public exploits
- 0
- none known
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.
Patch / fix
- pypi python-multipart 0.0.30
- fastapiexpert python-multipart 0.0.30
- kludex python-multipart 0.0.30
- python-multipart Debian 14 0.0.32-1
debian advisories DEBIAN-CVE-2026-53539
- python-python-multipart SLES for SAP applications 16.0, SLES 16.0 0.0.20-160000.5.1
suse advisories SUSE-SU-2026:22372-1
- python-python-multipart openSUSE Leap 16.0 0.0.20-160000.5.1
opensuse advisories openSUSE-SU-2026:21066-1
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-53539 updated cvss 5.9
python-multipart: Python-Multipart: Denial of Service via crafted form-urlencoded bodies
-
Red Hat Exploit Intelligence python-multipart Red Hat Migration Toolkit for Applications 8 python-multipart Red Hat OpenShift Lightspeed python-multipart Red Hat AI Inference Server python-multipart Red Hat Ansible Automation Platform 2 python-multipart Red Hat Enterprise Linux AI (RHEL AI) 3 python-multipartaffected: workaround, no fix available “Fix deferred”
+3 more productsfewer
Red Hat OpenShift AI (RHOAI) python-multipart Red Hat OpenShift Virtualization 4 python-multipart Red Hat Satellite 6 python-multipart -
Red Hat Lightspeed Core python-multipart Red Hat Enterprise Linux command line assistant python-multipart Red Hat Hardened Images jaeger 2.19.0-1.hum1not affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 4 mo ago
Exploit prediction
0.46% chance of exploitation in the next 30 days, higher than 40% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| GitHub | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| OSV | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | python-multipart | <0.0.30 |
0.0.30 |
Affected products
- Kludex python-multipart
Classification
References
-
github.com
/Kludex/python-multipart/security/advisories/GHSA-5rvq-cxj2-64vf
web, vendor-advisory
-
github.com
/Kludex/python-multipart
package
-
pypi.org
/project/python-multipart
package
-
github.com
/advisories/GHSA-5rvq-cxj2-64vf
advisory
-
nvd.nist.gov
/vuln/detail/CVE-2026-53539
advisory
Sources
- CVE List CVE-2026-53539
- GitHub Advisory GHSA-5rvq-cxj2-64vf
- NVD CVE-2026-53539
- OSV PYSEC-2026-3036
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.