python-multipart vulnerable to content-type header Regular expression Denial of Service
21Vexday Risk Score
No sign of exploitation. No public exploitation artifact known so far.
ssvc Trackcvss 7.5epss 1.5%
exploitation probability
1.5%top 28% of all CVEs
observed exploitation
nono source reports it
`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.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
References
https://github.com/andrew-d/python-multipart/blob/d3d16dae4b061c34fe9d3c9081d9800c49fc1f7a/multipart/multipart.py#L72-L74https://github.com/encode/starlette/commit/13e5c26a27f4903924624736abd6131b2da80cc5https://github.com/encode/starlette/security/advisories/GHSA-93gm-qmq6-w238https://github.com/Kludex/python-multipart/commit/20f0ef6b4e4caf7d69a667c54dff57fe467109a4https://github.com/Kludex/python-multipart/security/advisories/GHSA-2jv5-9r88-3w3phttps://github.com/tiangolo/fastapi/commit/9d34ad0ee8a0dfbbcce06f76c2d5d851085024fchttps://github.com/tiangolo/fastapi/releases/tag/0.109.1https://github.com/tiangolo/fastapi/security/advisories/GHSA-qf9m-vfgh-m389