CVE-2026-53538
Received Received - Intake
Python-Multipart Form Parser Differential Allows Field Smuggling

Publication date: 2026-06-22

Last updated on: 2026-06-22

Assigner: GitHub, Inc.

Description
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.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-06-22
Last Modified
2026-06-22
Generated
2026-06-23
AI Q&A
2026-06-23
EPSS Evaluated
N/A
NVD
EUVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
kludex python-multipart to 0.0.30 (exc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-444 The product acts as an intermediary HTTP agent (such as a proxy or firewall) in the data flow between two entities such as a client and server, but it does not interpret malformed HTTP requests or responses in ways that are consistent with how the messages will be processed by those entities that are at the ultimate destination.
CWE-436 Product A handles inputs or steps differently than Product B, which causes A to perform incorrect actions based on its perception of B's state.
Attack-Flow Graph
AI Quick Actions
Instant insights powered by AI
Compliance Impact

The vulnerability in python-multipart causes inconsistent parsing of form data, allowing attackers to smuggle extra form fields past upstream components that follow the WHATWG URL standard. This can lead to HTTP parameter pollution and potential unauthorized data modification.

While the CVE description and resources do not explicitly mention compliance with standards like GDPR or HIPAA, the integrity impact of this vulnerability could potentially affect data handling and processing accuracy, which are important for regulatory compliance.

Organizations relying on python-multipart in affected versions should upgrade to version 0.0.30 or later to ensure consistent parsing behavior and reduce risks that might impact compliance with data protection regulations.

Executive Summary

The CVE-2026-53538 vulnerability affects the python-multipart library versions prior to 0.0.30. It arises because the QuerystringParser incorrectly treats semicolons (;) as field separators in application/x-www-form-urlencoded bodies, in addition to ampersands (&). This behavior deviates from the WHATWG URL standard, modern browsers, and Python's urllib.parse, which only recognize ampersands as separators.

Due to this inconsistency, an attacker can craft a request that smuggles extra or overriding form fields past an upstream body inspecting component (such as a web application firewall or gateway) that follows the WHATWG standard. For example, a request body like 'role=user&x=;role=admin' would be parsed by the vulnerable library as three fields (role="user", x="", role="admin"), but the upstream component would see only two fields (role=user and x=";role=admin"). This allows injection of parameters that the intermediary never observes, potentially leading to HTTP parameter pollution.

The root cause is the parser's fallback logic where semicolons are used as separators if no ampersand is found, causing inconsistent tokenization depending on unrelated bytes and buffer splits. This vulnerability is fixed in python-multipart version 0.0.30 by aligning the parser behavior with the WHATWG standard.

Impact Analysis

This vulnerability can allow an attacker to smuggle additional or overriding form fields past upstream components that inspect HTTP request bodies, such as web application firewalls or gateways. This can lead to HTTP parameter pollution, where unexpected or malicious parameters are processed by the backend application.

The impact is primarily on data integrity, as the attacker can modify or inject parameters that the intermediary does not detect. There is no impact on confidentiality or availability.

Because the vulnerability has a low severity score (CVSS 3.7) and requires network access with high attack complexity, the risk is limited but still important to address by upgrading to python-multipart 0.0.30 or later.

Detection Guidance

This vulnerability can be detected by analyzing HTTP request bodies for the presence of semicolons (;) used as field separators in application/x-www-form-urlencoded content. Specifically, look for requests where parameters are separated by semicolons instead of only ampersands (&), which may indicate attempts to exploit the parser differential.

You can inspect captured HTTP traffic or logs for suspicious request bodies containing semicolons as separators. For example, searching for patterns like 'role=user&x=;role=admin' can reveal attempts to smuggle extra form fields.

Commands to detect such patterns might include using tools like grep or tcpdump on logs or network captures. For example:

  • grep -r ';&' /path/to/http/logs
  • tcpdump -A -s 0 'tcp port 80 or tcp port 443' | grep ';'

Additionally, reviewing the version of python-multipart installed on your system can help detect vulnerable versions (prior to 0.0.30).

  • pip show python-multipart
Mitigation Strategies

The primary mitigation step is to upgrade the python-multipart library to version 0.0.30 or later, where the parser behavior aligns with the WHATWG URL standard by treating only ampersands (&) as field separators.

This upgrade eliminates the parser differential that allows attackers to smuggle extra form fields past upstream components.

Until the upgrade is applied, consider implementing additional input validation or filtering on incoming HTTP request bodies to detect and block requests containing semicolons used as separators in form data.

Chat Assistant
Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-53538. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70
EPSS Chart