CVE-2024-53981

python-multipart has a Denial of service (DoS) via deformation `multipart/form-data` boundary

Published Dec 2, 2024 CVSS 3.1 · 7.5 High EPSS < 1% KEV · Not listed
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.

Analysis

No analysis available yet

Remediation

No remediation available yet

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
EUVD EUVD EUVD-2024-3431 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.
Github GHSA Github GHSA GHSA-59g5-xgcq-4qw3 Denial of service (DoS) via deformation `multipart/form-data` boundary
Ubuntu USN Ubuntu USN USN-8027-1 Python-Multipart vulnerabilities
History
Type Values Removed Values Added
First Time appeared Kludex
Kludex python-multipart
CPEs cpe:2.3:a:kludex:python-multipart:*:*:*:*:*:*:*:*
Vendors & Products Kludex
Kludex python-multipart
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
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.
Title python-multipart has a Denial of service (DoS) via deformation `multipart/form-data` boundary
Weaknesses CWE-770
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}

Weaknesses
  • CWE-770

    Allocation of Resources Without Limits or Throttling

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Dec 2, 2024, 7:59 PM
Reserved
Nov 25, 2024, 11:14 PM
Status
Deferred
Published
Dec 2, 2024, 4:15 PM
Modified
Jun 17, 2026, 8:09 AM
Severity
Important
Public date
Dec 2, 2024, 3:57 PM