CVE-2026-53537CWE-20CWE-436

Python-Multipart: Content-Disposition parameter smuggling via RFC 2231/5987 extended parameters

Low · published June 22, 2026

CVSS v3.1
3.7
EPSS
0%
Percentile
20.6
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
3.7 · LOW
Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N
CVSS v4.0
Not supplied
EPSS
0.00291 · 20.6th percentile
Weaknesses
CWE-20 · Improper Input Validation; CWE-436 · Interpretation Conflict
Published
2026-06-22T16:57Z
EPSS history
Timeline
  • 22 JUN 16:57Z
    Python-Multipart: Content-Disposition parameter smuggling via RFC 2231/5987 extended parameters
    cvelistv5