CVE-2024-24762

`python-multipart` is a streaming multipart parser for Python. When using form data, `python-multipart` uses a Regular Expression to parse the HTTP `Content-Type` header, including options. An attacker could send a custom-made `Content-Type` option that is very difficult for the RegEx to process, consuming CPU resources and stalling indefinitely (minutes or more) while holding the main event loop. This means that process can't handle any more requests, leading to regular expression denial of service. This vulnerability has been patched in version 0.0.7.
References
Link Resource
https://github.com/Kludex/python-multipart/commit/20f0ef6b4e4caf7d69a667c54dff57fe467109a4 Patch
https://github.com/Kludex/python-multipart/security/advisories/GHSA-2jv5-9r88-3w3p Exploit Vendor Advisory
https://github.com/andrew-d/python-multipart/blob/d3d16dae4b061c34fe9d3c9081d9800c49fc1f7a/multipart/multipart.py#L72-L74 Product
https://github.com/encode/starlette/commit/13e5c26a27f4903924624736abd6131b2da80cc5 Patch
https://github.com/encode/starlette/security/advisories/GHSA-93gm-qmq6-w238 Broken Link
https://github.com/tiangolo/fastapi/commit/9d34ad0ee8a0dfbbcce06f76c2d5d851085024fc Patch
https://github.com/tiangolo/fastapi/releases/tag/0.109.1 Product
https://github.com/tiangolo/fastapi/security/advisories/GHSA-qf9m-vfgh-m389 Broken Link
https://github.com/Kludex/python-multipart/commit/20f0ef6b4e4caf7d69a667c54dff57fe467109a4 Patch
https://github.com/Kludex/python-multipart/security/advisories/GHSA-2jv5-9r88-3w3p Exploit Vendor Advisory
https://github.com/andrew-d/python-multipart/blob/d3d16dae4b061c34fe9d3c9081d9800c49fc1f7a/multipart/multipart.py#L72-L74 Product
https://github.com/encode/starlette/commit/13e5c26a27f4903924624736abd6131b2da80cc5 Patch
https://github.com/encode/starlette/security/advisories/GHSA-93gm-qmq6-w238 Broken Link
https://github.com/tiangolo/fastapi/commit/9d34ad0ee8a0dfbbcce06f76c2d5d851085024fc Patch
https://github.com/tiangolo/fastapi/releases/tag/0.109.1 Product
https://github.com/tiangolo/fastapi/security/advisories/GHSA-qf9m-vfgh-m389 Broken Link
Configurations

Configuration 1 (hide)

cpe:2.3:a:fastapiexpert:python-multipart:*:*:*:*:*:python:*:*

Configuration 2 (hide)

AND
cpe:2.3:a:fastapiexpert:python-multipart:*:*:*:*:*:python:*:*
OR cpe:2.3:a:encode:starlette:*:*:*:*:*:python:*:*
cpe:2.3:a:tiangolo:fastapi:*:*:*:*:*:*:*:*

History

21 Nov 2024, 08:59

Type Values Removed Values Added
References () https://github.com/Kludex/python-multipart/commit/20f0ef6b4e4caf7d69a667c54dff57fe467109a4 - Patch () https://github.com/Kludex/python-multipart/commit/20f0ef6b4e4caf7d69a667c54dff57fe467109a4 - Patch
References () https://github.com/Kludex/python-multipart/security/advisories/GHSA-2jv5-9r88-3w3p - Exploit, Vendor Advisory () https://github.com/Kludex/python-multipart/security/advisories/GHSA-2jv5-9r88-3w3p - Exploit, Vendor Advisory
References () https://github.com/andrew-d/python-multipart/blob/d3d16dae4b061c34fe9d3c9081d9800c49fc1f7a/multipart/multipart.py#L72-L74 - Product () https://github.com/andrew-d/python-multipart/blob/d3d16dae4b061c34fe9d3c9081d9800c49fc1f7a/multipart/multipart.py#L72-L74 - Product
References () https://github.com/encode/starlette/commit/13e5c26a27f4903924624736abd6131b2da80cc5 - Patch () https://github.com/encode/starlette/commit/13e5c26a27f4903924624736abd6131b2da80cc5 - Patch
References () https://github.com/encode/starlette/security/advisories/GHSA-93gm-qmq6-w238 - Broken Link () https://github.com/encode/starlette/security/advisories/GHSA-93gm-qmq6-w238 - Broken Link
References () https://github.com/tiangolo/fastapi/commit/9d34ad0ee8a0dfbbcce06f76c2d5d851085024fc - Patch () https://github.com/tiangolo/fastapi/commit/9d34ad0ee8a0dfbbcce06f76c2d5d851085024fc - Patch
References () https://github.com/tiangolo/fastapi/releases/tag/0.109.1 - Product () https://github.com/tiangolo/fastapi/releases/tag/0.109.1 - Product
References () https://github.com/tiangolo/fastapi/security/advisories/GHSA-qf9m-vfgh-m389 - Broken Link () https://github.com/tiangolo/fastapi/security/advisories/GHSA-qf9m-vfgh-m389 - Broken Link

18 Nov 2024, 20:43

Type Values Removed Values Added
CPE cpe:2.3:a:fastapiexpert:python-multipart:*:*:*:*:*:*:*:*
cpe:2.3:a:encode:starlette:*:*:*:*:*:*:*:*
cpe:2.3:a:encode:starlette:*:*:*:*:*:python:*:*
cpe:2.3:a:fastapiexpert:python-multipart:*:*:*:*:*:python:*:*

14 Nov 2024, 16:25

Type Values Removed Values Added
First Time Encode
Fastapiexpert python-multipart
Fastapiexpert
Encode starlette
CPE cpe:2.3:a:fastapiexpert:python-multipart:*:*:*:*:*:*:*:*
cpe:2.3:a:encode:starlette:*:*:*:*:*:*:*:*
References () https://github.com/Kludex/python-multipart/commit/20f0ef6b4e4caf7d69a667c54dff57fe467109a4 - () https://github.com/Kludex/python-multipart/commit/20f0ef6b4e4caf7d69a667c54dff57fe467109a4 - Patch
References () https://github.com/Kludex/python-multipart/security/advisories/GHSA-2jv5-9r88-3w3p - () https://github.com/Kludex/python-multipart/security/advisories/GHSA-2jv5-9r88-3w3p - Exploit, Vendor Advisory
References () https://github.com/andrew-d/python-multipart/blob/d3d16dae4b061c34fe9d3c9081d9800c49fc1f7a/multipart/multipart.py#L72-L74 - () https://github.com/andrew-d/python-multipart/blob/d3d16dae4b061c34fe9d3c9081d9800c49fc1f7a/multipart/multipart.py#L72-L74 - Product
References () https://github.com/encode/starlette/commit/13e5c26a27f4903924624736abd6131b2da80cc5 - () https://github.com/encode/starlette/commit/13e5c26a27f4903924624736abd6131b2da80cc5 - Patch
References () https://github.com/encode/starlette/security/advisories/GHSA-93gm-qmq6-w238 - () https://github.com/encode/starlette/security/advisories/GHSA-93gm-qmq6-w238 - Broken Link
References () https://github.com/tiangolo/fastapi/security/advisories/GHSA-qf9m-vfgh-m389 - Exploit, Vendor Advisory () https://github.com/tiangolo/fastapi/security/advisories/GHSA-qf9m-vfgh-m389 - Broken Link

17 Feb 2024, 02:15

Type Values Removed Values Added
Summary FastAPI is a web framework for building APIs with Python 3.8+ based on standard Python type hints. When using form data, `python-multipart` uses a Regular Expression to parse the HTTP `Content-Type` header, including options. An attacker could send a custom-made `Content-Type` option that is very difficult for the RegEx to process, consuming CPU resources and stalling indefinitely (minutes or more) while holding the main event loop. This means that process can't handle any more requests. It's a ReDoS(Regular expression Denial of Service), it only applies to those reading form data, using `python-multipart`. This vulnerability has been patched in version 0.109.1. `python-multipart` is a streaming multipart parser for Python. When using form data, `python-multipart` uses a Regular Expression to parse the HTTP `Content-Type` header, including options. An attacker could send a custom-made `Content-Type` option that is very difficult for the RegEx to process, consuming CPU resources and stalling indefinitely (minutes or more) while holding the main event loop. This means that process can't handle any more requests, leading to regular expression denial of service. This vulnerability has been patched in version 0.0.7.
References
  • () https://github.com/Kludex/python-multipart/security/advisories/GHSA-2jv5-9r88-3w3p -
  • () https://github.com/encode/starlette/commit/13e5c26a27f4903924624736abd6131b2da80cc5 -
  • () https://github.com/Kludex/python-multipart/commit/20f0ef6b4e4caf7d69a667c54dff57fe467109a4 -
  • () https://github.com/andrew-d/python-multipart/blob/d3d16dae4b061c34fe9d3c9081d9800c49fc1f7a/multipart/multipart.py#L72-L74 -
  • () https://github.com/encode/starlette/security/advisories/GHSA-93gm-qmq6-w238 -

13 Feb 2024, 00:36

Type Values Removed Values Added
First Time Tiangolo
Tiangolo fastapi
References () https://github.com/tiangolo/fastapi/commit/9d34ad0ee8a0dfbbcce06f76c2d5d851085024fc - () https://github.com/tiangolo/fastapi/commit/9d34ad0ee8a0dfbbcce06f76c2d5d851085024fc - Patch
References () https://github.com/tiangolo/fastapi/releases/tag/0.109.1 - () https://github.com/tiangolo/fastapi/releases/tag/0.109.1 - Product
References () https://github.com/tiangolo/fastapi/security/advisories/GHSA-qf9m-vfgh-m389 - () https://github.com/tiangolo/fastapi/security/advisories/GHSA-qf9m-vfgh-m389 - Exploit, Vendor Advisory
CWE CWE-400 CWE-1333
CPE cpe:2.3:a:tiangolo:fastapi:*:*:*:*:*:*:*:*
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 7.5

09 Feb 2024, 19:15

Type Values Removed Values Added
Summary FastAPI is a web framework for building APIs with Python 3.8+ based on standard Python type hints. When using form data, `python-multipart` uses a Regular Expression to parse the HTTP `Content-Type` header, including options. An attacker could send a custom-made `Content-Type` option that is very difficult for the RegEx to process, consuming CPU resources and stalling indefinitely (minutes or more) while holding the main event loop. This means that process can't handle any more requests. It's a ReDoS(Regular expression Denial of Service), it only applies to those reading form data, using `python-multipart`. This vulnerability has been patched in version 0.109.0. FastAPI is a web framework for building APIs with Python 3.8+ based on standard Python type hints. When using form data, `python-multipart` uses a Regular Expression to parse the HTTP `Content-Type` header, including options. An attacker could send a custom-made `Content-Type` option that is very difficult for the RegEx to process, consuming CPU resources and stalling indefinitely (minutes or more) while holding the main event loop. This means that process can't handle any more requests. It's a ReDoS(Regular expression Denial of Service), it only applies to those reading form data, using `python-multipart`. This vulnerability has been patched in version 0.109.1.

05 Feb 2024, 15:15

Type Values Removed Values Added
New CVE

Information

Published : 2024-02-05 15:15

Updated : 2024-11-21 08:59


NVD link : CVE-2024-24762

Mitre link : CVE-2024-24762

CVE.ORG link : CVE-2024-24762


JSON object : View

Products Affected

tiangolo

  • fastapi

encode

  • starlette

fastapiexpert

  • python-multipart
CWE
CWE-400

Uncontrolled Resource Consumption

CWE-1333

Inefficient Regular Expression Complexity