CVE-2024-53981
python-multipart has a Denial of service (DoS) via deformation `multipart/form-data` boundary
Description
python-multipart is a streaming multipart parser for Python. When parsing form data, python-multipart skips line breaks (CR \r or LF \n) in front of the first boundary and any tailing bytes after the last boundary. This happens one byte at a time and emits a log event each time, which may cause excessive logging for certain inputs. An attacker could abuse this by sending a malicious request with lots of data before the first or after the last boundary, causing high CPU load and stalling the processing thread for a significant amount of time. In case of ASGI application, this could stall the event loop and prevent other requests from being processed, resulting in a denial of service (DoS). This vulnerability is fixed in 0.0.18.
Exploitation context
CISA SSVC decision
CISA Coordinator · SSVC 2.0.3 · Evaluated Dec 2, 2024 · Source: CVE List
Affected products and versions
2| Product | Source | Version range | Status |
|---|---|---|---|
python-multipartBrowse Kludex / python-multipartDefault status: unknown | CVE List | < 0.0.18 | affected |
| Before 0.0.18 | affected | ||
python-multipartBrowse PyPI / python-multipart | GitHub Advisory | Before 0.0.18 · Fixed in 0.0.18 | affected |