Python-Multipart: Semicolon treated as querystring field separator enables parameter smuggling
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- High
- Impact type
- —
- Confidentiality · integrity · availability
- None · Low · None
- Fix status
- Partial Red Hat: 9 without a fix
Attack profile from CVSS 3.1 · CNA. Fix status from CNA, GitHub and Red Hat.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- 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
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| Kludex | python-multipart | before 0.0.30 | 0.0.30 | Patch available | CNA |
| — | python-multipart (PyPI) | before 0.0.30 | 0.0.30 | Patch available | GHSA-6jv3-5f52-599m |
- 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-6jv3-5f52-599m
CPE configurations NVD · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:fastapiexpert:python-multipart:*:*:*:*:*:python:*:* | before 0.0.30 | Vulnerable | Fastapiexpert |
- 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-6jv3-5f52-599m python-multipart (PyPI) Fixed in 0.0.30 Advisory →
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Exploit Intelligence | Affected | No fix yet: Fix deferred |
| Migration Toolkit for Applications 8 | Affected | No fix yet: Fix deferred |
| OpenShift Lightspeed | Affected | No fix yet: Fix deferred |
| Red Hat AI Inference Server | Affected | No fix yet: Fix deferred |
| Red Hat Ansible Automation Platform 2 | Affected | No fix yet: Fix deferred |
| Red Hat Enterprise Linux AI (RHEL AI) 3 | Affected | No fix yet: Fix deferred |
| Red Hat OpenShift AI (RHOAI) | Affected | No fix yet: Fix deferred |
| Red Hat OpenShift Virtualization 4 | Affected | No fix yet: Fix deferred |
| Red Hat Satellite 6 | Affected | No fix yet: Fix deferred |
Not affected: 9 products
- Lightspeed Core
- OpenShift Lightspeed
- Red Hat AI Inference Server
- Red Hat Ansible Automation Platform 2
- Red Hat Enterprise Linux AI (RHEL AI) 3
- Red Hat Enterprise Linux command line assistant
- Red Hat Hardened Images
- Red Hat OpenShift AI (RHOAI)
- Red Hat Satellite 6
Timeline
- 2026-10-02 Threatist record created from CVE-2026-53538
- 2026-10-03 Alias added: GHSA-6jv3-5f52-599m
References
More Kludex vulnerabilities
- 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
- CVE-2026-53538 · CVE Program
- CVE-2026-53538 · NVD
- FIRST EPSS
- GHSA-6jv3-5f52-599m · GitHub Advisory Database · CC BY 4.0
- CVE-2026-53538 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences