CVE-2024-53981
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.
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
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 High
CVSS: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 High
CVSS: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-multipartmaintainer on October 3 by @mnqazi
- Record
GHSA-59g5-xgcq-4qw3- CVSS 4.0
- 8.7 High
CVSS: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 High
CVSS: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 High
CVSS: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 High
CVSS: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 High
CVSS: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-multipartmaintainer on October 3 by @mnqazi
- Record
GHSA-59g5-xgcq-4qw3- CVSS 4.0
- 8.7 High
CVSS: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 High
CVSS: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-multipartmaintainer on October 3 by @mnqazi
- Record
PYSEC-2026-1851- CVSS 4.0
- 8.7 High
CVSS: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 High
CVSS: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 High
CVSS: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 High
CVSS: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
| Package | Affected | Fixed |
|---|---|---|
python-multipartPyPI |
before 0.0.18 | 0.0.18 |
python-multipartTuxCare: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-multipartDebian: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 less0.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-multipartDebian:13 |
before 0.0.20-1 | 0.0.20-1 |
python-multipartDebian:14 |
before 0.0.20-1 | 0.0.20-1 |
python-multipartPyPI |
before 0.0.18, plus listed versions 0.0.10.0.100.0.110.0.120.0.13 Show 12 moreShow less0.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-multipartRoot:PyPI |
before 0.0.5+aikido.1 | 0.0.5+aikido.10.0.17+aikido.2 |
python-python-multipartopenSUSE:Leap 15.6 |
before 0.0.9-150600.3.3.1 | 0.0.9-150600.3.3.1 |
python-multipartUbuntu: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-multipartUbuntu: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-multipartUbuntu: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-multipartUbuntu: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-multipartopenSUSE:Tumbleweed |
before 0.0.19-1.1 | 0.0.19-1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| aliases, published | EUVD | |
| first indexed | CVE 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
github.com/Kludex/python-multipart/security/advisories/GHSA-59g5-xgcq-4qw3
github.com/Kludex/python-multipart/commit/c4fe4d3cebc08c660e57dd709af1ffa7059b3177
nvd.nist.gov/vuln/detail/CVE-2024-53981
github.com/advisories/GHSA-59g5-xgcq-4qw3
github.com/CVEProject/cvelistV5/tree/main/cves/2024/53xxx/CVE-2024-53981.json
security-tracker.debian.org/tracker/CVE-2024-53981
Show 10 moreShow less
github.com/Kludex/python-multipart
pypi.org/project/python-multipart
suse.com/support/update/announcement/2024/suse-su-20244194-1
bugzilla.suse.com/1234115
suse.com/security/cve/CVE-2024-53981
ubuntu.com/security/CVE-2024-53981
cve.org/CVERecord?id=CVE-2024-53981
ubuntu.com/security/notices/USN-8027-1
ubuntu.com/security/CVE-2024-24762
ubuntu.com/security/CVE-2026-24486