Bug 2491460 (CVE-2026-53537)

Summary: CVE-2026-53537 multipart: Python-Multipart: Information disclosure via header parsing discrepancy
Product: [Other] Security Response Reporter: OSIDB Bzimport <bzimport>
Component: vulnerabilityAssignee: Product Security <prodsec-ir-bot>
Status: NEW --- QA Contact:
Severity: low Docs Contact:
Priority: low    
Version: unspecifiedCC: alinfoot, anpicker, anthomas, aprice, bbrownin, bparees, dfreiber, dkeler, drow, dschmidt, dtrifiro, ebourniv, ehelms, fdeutsch, ggainey, hasun, ilpinto, jburrell, jdobes, jfula, jkoehler, jlanda, jowilson, jpasqual, jsamir, juwatts, jwong, kaycoth, kshier, lgallett, lphiri, ltomasbo, mbarnett, mhayden, mhulan, nmoumoul, nyancey, oezr, omaciel, ometelka, orabin, oramraz, osousa, pcreech, prwatson, ptisnovs, rbryant, rchan, rjohnson, sbunciak, sdoran, simaishi, smallamp, smullick, stcannon, stirabos, suppawar, syedriko, teagle, thason, tmalecek, ttakamiy, vkumar, weaton, xdharmai, yguenane, ykashtan
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
A flaw was found in Python-Multipart. This vulnerability allows a remote attacker to bypass security controls by exploiting a difference in how Content-Disposition and Content-Type headers are parsed. Specifically, the parse_options_header function incorrectly applies RFC 2231/5987 decoding, which is forbidden for multipart/form-data. This discrepancy enables an attacker to smuggle a malicious field name or filename past upstream security devices, potentially leading to information disclosure on the backend system.
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2494099, 2494100    
Bug Blocks:    

Description OSIDB Bzimport 2026-06-22 18:02:43 UTC
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.