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

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
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
First Time Fastapiexpert python-multipart
Fastapiexpert
Encode
Encode starlette

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

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-18 20:43


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-1333

Inefficient Regular Expression Complexity

CWE-400

Uncontrolled Resource Consumption