python-multipart vulnerable to content-type header Regular expression Denial of Service (Kludex python-multipart)
En bref
- Source
- NVD
- EPSS
- EPSS 1.52 % · centile 75 ()
- État
- PUBLISHED
- Publiée
- Mise à jour
- Attribuée par
- GitHub_M
- Statut NVD
- Analyzed
Rechercher sur…
Description
`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.
Faiblesses (CWE)
- CWE-400 — Consommation de ressources non maîtrisée (déni de service)
- CWE-1333 — Complexité inefficace d'expression régulière (ReDoS)
Références
- https://github.com/Kludex/python-multipart/security/advisories/GHSA-2jv5-9r88-3w3p
- https://github.com/Kludex/python-multipart/commit/20f0ef6b4e4caf7d69a667c54dff57fe467109a4
- https://github.com/tiangolo/fastapi/security/advisories/GHSA-qf9m-vfgh-m389
- https://github.com/encode/starlette/security/advisories/GHSA-93gm-qmq6-w238
- https://github.com/andrew-d/python-multipart/blob/d3d16dae4b061c34fe9d3c9081d9800c49fc1f7a/multipart/multipart.py#L72-L74
- https://github.com/encode/starlette/commit/13e5c26a27f4903924624736abd6131b2da80cc5
- https://github.com/tiangolo/fastapi/commit/9d34ad0ee8a0dfbbcce06f76c2d5d851085024fc
- https://github.com/tiangolo/fastapi/releases/tag/0.109.1
Scores
| Version | Score | Vecteur | Évalué par |
|---|---|---|---|
| CVSS 3.1 | HIGH 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H | GitHub_M |
| CVSS 3.1 | HIGH 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H | NVD · security-advisories@github.com (Secondary) |
| CVSS 3.1 | HIGH 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H | NVD · nvd@nist.gov (Primary) |
Avis
- GHSA-2jv5-9r88-3w3p — python-multipart vulnerable to Content-Type Header ReDoS
- GHSA-qf9m-vfgh-m389 — Duplicate Advisory: FastAPI Content-Type Header ReDoS
- PYSEC-2024-38 — 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 Expre
- PYSEC-2026-1850 — python-multipart vulnerable to Content-Type Header ReDoS
Références européennes
- ENISA EUVD · EUVD-2024-0059
- GCVE · GCVE-0-2024-24762
Avis du CERT-FR
- CERTFR-2026-AVI-1094 — Multiples vulnérabilités dans les produits IBM · cert.ssi.gouv.fr
- CERTFR-2025-AVI-0969 — Multiples vulnérabilités dans les produits VMware · cert.ssi.gouv.fr
- CERTFR-2024-AVI-0199 — Multiples vulnérabilités dans IBM · cert.ssi.gouv.fr
Configurations affectées (CPE NVD)
cpe:2.3:a:fastapiexpert:python-multipart:*:*:*:*:*:python:*:*< 0.0.7cpe:2.3:a:fastapiexpert:python-multipart:*:*:*:*:*:python:*:*< 0.0.7
Produits affectés
| Produit | Versions |
|---|---|
| Kludex · python-multipart | affected 0 < 0.0.7 |
| tiangolo · fastapi | affected 0 < 0.109.1 |
| encode · starlette | affected 0 < 0.36.2 |
Sources
| Source | Licence |
|---|---|
| CVE List (CVEProject cvelistV5) | CVE Program Terms of Use |
| EPSS (FIRST.org) | FIRST — attribution requested |
| ENISA EUVD | ENISA — reproduction authorised, source acknowledged |
| CERT-FR (ANSSI) | Licence Ouverte / Etalab 2.0 |
| NVD (NIST) via fkie-cad/nvd-json-data-feeds | Public domain — this product uses data from the NVD API but is not endorsed or certified by the NVD |