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:fastapiexpert:python-multipart:*:*:*:*:*:python:*:*
cpe:2.3:a:encode:starlette:*:*:*:*:*:python:*:*

14 Nov 2024, 16:25

Type Values Removed Values Added
First Time Fastapiexpert python-multipart
Fastapiexpert
Encode
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 (en) 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. (en) `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/commit/20f0ef6b4e4caf7d69a667c54dff57fe467109a4 -
  • () https://github.com/Kludex/python-multipart/security/advisories/GHSA-2jv5-9r88-3w3p -
  • () https://github.com/andrew-d/python-multipart/blob/d3d16dae4b061c34fe9d3c9081d9800c49fc1f7a/multipart/multipart.py#L72-L74 -
  • () https://github.com/encode/starlette/commit/13e5c26a27f4903924624736abd6131b2da80cc5 -
  • () https://github.com/encode/starlette/security/advisories/GHSA-93gm-qmq6-w238 -

13 Feb 2024, 00:36

Type Values Removed Values Added
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
CPE cpe:2.3:a:tiangolo:fastapi:*:*:*:*:*:*:*:*
CWE CWE-1333
First Time Tiangolo fastapi
Tiangolo

09 Feb 2024, 19:15

Type Values Removed Values Added
Summary
  • (es) FastAPI es un framework web para crear API con Python 3.8+ basado en sugerencias de tipo estándar de Python. Cuando se utilizan datos de formulario, `python-multipart` usa una expresión regular para analizar el encabezado HTTP `Content-Type`, incluidas las opciones. Un atacante podría enviar una opción de "Tipo de contenido" personalizada que es muy difícil de procesar para RegEx, consumiendo recursos de CPU y deteniéndose indefinidamente (minutos o más) mientras se mantiene el bucle de evento principal. Esto significa que el proceso no puede manejar más solicitudes. Es un ReDoS (expresión regular de denegación de servicio), solo se aplica a aquellos que leen datos del formulario usando `python-multipart`. Esta vulnerabilidad ha sido parcheada en la versión 0.109.0.
Summary (en) 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. (en) 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

encode

  • starlette

tiangolo

  • fastapi

fastapiexpert

  • python-multipart
CWE
CWE-400

Uncontrolled Resource Consumption

CWE-1333

Inefficient Regular Expression Complexity