Every CVE Search/ Get API key

CVE-2024-53981

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

7.5 HighFix available

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.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
None
Availability
High

Exploit likelihood

0.64%Up 0.6 points since Dec 3, 2024
90%50%10%1%

What each source reports

CVE List Score used 7.5

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

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.

Record
CVE-2024-53981
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-770
Updated
2026-11-02
EUVDEUVD-2024-3431 7.5

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.

Record
EUVD-2024-3431
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-03
GitHub AdvisoriesGHSA-59g5-xgcq-4qw3 8.7

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

Summary

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).

Impact

Applications that use python-multipart to parse form data (or use frameworks that do so) are affected.

Original Report

This security issue was reported by:

  • GitHub security advisory in Starlette on October 30 by @Startr4ck
  • Email to python-multipart maintainer on October 3 by @mnqazi
Record
GHSA-59g5-xgcq-4qw3
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-770
Updated
2026-11-02
NVD 7.5

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.

Record
CVE-2024-53981
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-770
Updated
2026-11-02
OSV 7.5

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

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.

Record
CVE-2024-53981
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-770
Updated
2026-11-02
OSVDEBIAN-CVE-2024-53981 7.5

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.

Record
DEBIAN-CVE-2024-53981
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
Show 8 moreShow less
OSVGHSA-59g5-xgcq-4qw3 8.7

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

Summary

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).

Impact

Applications that use python-multipart to parse form data (or use frameworks that do so) are affected.

Original Report

This security issue was reported by:

  • GitHub security advisory in Starlette on October 30 by @Startr4ck
  • Email to python-multipart maintainer on October 3 by @mnqazi
Record
GHSA-59g5-xgcq-4qw3
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-770
Updated
2026-11-02
OSVPYSEC-2026-1851 8.7

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

Summary

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).

Impact

Applications that use python-multipart to parse form data (or use frameworks that do so) are affected.

Original Report

This security issue was reported by:

  • GitHub security advisory in Starlette on October 30 by @Startr4ck
  • Email to python-multipart maintainer on October 3 by @mnqazi
Record
PYSEC-2026-1851
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVROOT-APP-PYPI-CVE-2024-53981 7.5

CVE-2024-53981 in python-multipart - Patched by Root

Root has patched CVE-2024-53981 in the python-multipart package for Root:PyPI. Multiple fixed versions available.

Record
ROOT-APP-PYPI-CVE-2024-53981
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVUBUNTU-CVE-2024-53981 7.5

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.

Record
UBUNTU-CVE-2024-53981
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVCLSA-2026-1769645547 No score

TuxCare security update for python-multipart (1 CVE)

TuxCare rebuilt python-multipart to address 1 CVE. Fixed in 0.0.6.post2+tuxcare.

Record
CLSA-2026-1769645547
Updated
2026-11-02
OSVopenSUSE-SU-2024:14551-1 No score

python310-python-multipart-0.0.19-1.1 on GA media

These are all security issues fixed in the python310-python-multipart-0.0.19-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:14551-1
Updated
2026-11-02
OSVSUSE-SU-2024:4194-1 No score

Security update for python-python-multipart

This update for python-python-multipart fixes the following issues:

  • CVE-2024-53981: excessive logging for certain inputs when parsing form data. (bsc#1234115)
Record
SUSE-SU-2024:4194-1
Updated
2026-11-02
OSVUSN-8027-1 No score

python-multipart vulnerabilities

It was discovered that Python-Multipart incorrectly handled certain regular expressions. An attacker could possibly use this issue to cause Python-Multipart to consume excessive resources, leading to a regular expression denial of service. This issue only affected Ubuntu 22.04 LTS. (CVE-2024-24762)

It was discovered that Python-Multipart did not properly sanitize line breaks during user input. An attacker could use this issue to send arbitrary input, thus preventing other requests from being processed, resulting in a denial of service. This issue was only fixed in Ubuntu 24.04 LTS. (CVE-2024-53981)

It was discovered that Python-Multipart was vulnerable to path traversal attacks. An attacker could possibly craft and upload files outside the target directory, resulting in remote code execution. (CVE-2026-24486)

Record
USN-8027-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
python-multipart
PyPI
before 0.0.18
0.0.18
python-multipart
TuxCare:PyPI
0.0.6 up to 0.0.6.post2+tuxcare, plus listed versions
0.0.6.post1+tuxcare
0.0.6.post2+tuxcare
python-multipart
Debian:12
All versions, plus listed versions
0.0.17-10.0.17-20.0.17-30.0.17-40.0.17-5
Show 10 moreShow less
0.0.20-10.0.20-1.10.0.20-1.1~deb13u10.0.22-10.0.26-10.0.32-10.0.33-10.0.5-30.0.6-10.0.9-1
None known
python-multipart
Debian:13
before 0.0.20-1
0.0.20-1
python-multipart
Debian:14
before 0.0.20-1
0.0.20-1
python-multipart
PyPI
before 0.0.18, plus listed versions
0.0.10.0.100.0.110.0.120.0.13
Show 12 moreShow less
0.0.140.0.150.0.160.0.170.0.20.0.30.0.40.0.50.0.60.0.70.0.80.0.9
0.0.18
python-multipart
Root:PyPI
before 0.0.5+aikido.1
0.0.5+aikido.10.0.17+aikido.2
python-python-multipart
openSUSE:Leap 15.6
before 0.0.9-150600.3.3.1
0.0.9-150600.3.3.1
python-multipart
Ubuntu:Pro:22.04:LTS
before 0.0.5-2ubuntu0.1~esm1, plus listed versions
0.0.5-2
0.0.5-2ubuntu0.1~esm1
python-multipart
Ubuntu:Pro:24.04:LTS
before 0.0.9-1ubuntu0.1~esm1, plus listed versions
0.0.5-30.0.6-10.0.9-1
0.0.9-1ubuntu0.1~esm1
python-multipart
Ubuntu:Pro:22.04:LTS
From an advisory covering 3 CVEs
before 0.0.5-2ubuntu0.1~esm1, plus listed versions
0.0.5-2
0.0.5-2ubuntu0.1~esm1
python-multipart
Ubuntu:Pro:24.04:LTS
From an advisory covering 3 CVEs
before 0.0.9-1ubuntu0.1~esm1, plus listed versions
0.0.5-30.0.6-10.0.9-1
0.0.9-1ubuntu0.1~esm1
python-python-multipart
openSUSE:Tumbleweed
before 0.0.19-1.1
0.0.19-1.1

History

History
RecordedChangedSources
affected, facts
aliases, publishedEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2024-53981 is a high vulnerability (CVSS 7.5) in Kludex Python-multipart, published December 2, 2024. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.64%, the 50th percentile. Fixed in python-multipart 0.0.18.

References

Show 10 moreShow less
MoveEnter Open