CVE-2026-28356
multipart vulnerable to ReDoS in `parse_options_header()`
Impact
## Summary The `parse_options_header()` function in `multipart.py` uses a regular expression with an *ambiguous alternation*, which can cause *exponential backtracking (ReDoS)* when parsing maliciously crafted HTTP or multipart segment headers. This can be abused for **denial of service (DoS)** attacks against web applications using this library to parse request headers or `multipart/form-data` streams. ## Impact Any WSGI or ASGI application using `multipart.parse_form_data()` directly or indirectly (e.g. while parsing `multipart/form-data` streams) is vulnerable. The slow-down is significant enough to block request handling threads for multiple seconds per request. ## Affected versions All versions up to and including `1.3.0` are affected. The issue is fixed in `1.2.2`, `1.3.1` and `1.4.0-dev`.
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| pip | multipart | >= 1.3.0, < 1.3.1 | 1.3.1 |
Affected products
| Product | Affected versions |
|---|---|
| Multipart Is A Fast Multipart/Form-Data Parser For Python. | before 1.2.2 |
Versions were read from the advisory text. No structured product data has been published for this record yet.
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/defnull/multipart/security/advisories/GHSA-p2m9-wcp5-6qw3
- https://access.redhat.com/errata/RHSA-2026:10184
- https://access.redhat.com/errata/RHSA-2026:37275
- https://access.redhat.com/errata/RHSA-2026:42644
- https://access.redhat.com/errata/RHSA-2026:5809
- https://access.redhat.com/errata/RHSA-2026:6761
- https://access.redhat.com/errata/RHSA-2026:6762
- https://access.redhat.com/security/cve/CVE-2026-28356
- https://bugzilla.redhat.com/show_bug.cgi?id=2447059
- https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-28356.json
- https://github.com/advisories/GHSA-p2m9-wcp5-6qw3
- https://nvd.nist.gov/vuln/detail/CVE-2026-28356