CVE-2024-53981 HIGH

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

Vendor Kludex
Product python-multipart
Weakness CWE-770 · Uncontrolled resource consumption
Published December 2, 2024
Last update December 2, 2024

CVSS base score

7.5/10
Attack vector Network
Attack complexity Low
Privileges required None
User interaction None
Confidentiality None
Integrity None

CVSS vector

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

What the vulnerability does

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.

Key dates

Disclosure timeline

December 2, 2024 CVE published
December 2, 2024 Record updated