Skip to content
OpenAdvisories
High · 7.5 CVE-2026-53539 EUVD-2026-38322GHSA-5rvq-cxj2-64vfPYSEC-2026-3036

Python-Multipart: Quadratic-time querystring parsing with semicolon separators causes CPU denial of service

Published Jun 22, 2026 · Updated Jun 23, 2026 · Assigned by GitHub_M

Description

Python-Multipart is a streaming multipart parser for Python. Prior to 0.0.30, when parsing application/x-www-form-urlencoded bodies, QuerystringParser located the field separator with a two step lookup: it first scanned the entire remaining buffer for &, and only when no & existed anywhere ahead did it fall back to scanning for ;. For a body that uses ; as the separator and contains no &, every field iteration performed a full failed & scan over the entire remaining buffer before locating the nearby ;. With N semicolon separated fields in a chunk of size B, this yields O(B^2) byte comparisons per chunk. An attacker can submit a small crafted body of the form a;a;a;... and cause the parser to spend seconds of CPU per request. A handful of concurrent requests can exhaust worker processes. This vulnerability is fixed in 0.0.30.

Affected products

VendorProductAffectedFixed
Kludex python-multipart < 0.0.30 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 python-multipart 0.0.32-1 —
Debian 13 python-multipart No fix yet —
Debian 12 python-multipart No fix yet —
ReleasePackageFixed inAdvisory
Ubuntu 26.10 python-multipart No fix yet —
Ubuntu 26.04 LTS python-multipart No fix yet —
Ubuntu 25.10 python-multipart No fix yet —
Show 2 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu Pro 24.04 LTS python-multipart No fix yet —
Ubuntu Pro 22.04 LTS python-multipart No fix yet —
ReleasePackageFixed inAdvisory
SLES for SAP 16.0 python-python-multipart 0.0.20-160000.5.1 SUSE-SU-2026:22372-1
SLES 16.0 python-python-multipart 0.0.20-160000.5.1 SUSE-SU-2026:22372-1
ReleasePackageFixed inAdvisory
openSUSE Leap 16.0 python-python-multipart 0.0.20-160000.5.1 openSUSE-SU-2026:21066-1

Wolfi

ReleasePackageFixed inAdvisory
Wolfi rolling airflow-3 3.2.2-r7 —

Affected packages

EcosystemPackageAffectedFixedRecord
PyPI python-multipart < 0.0.30 0.0.30 GHSA-5rvq-cxj2-64vf

Advisories 2

References