Bug 2262843 (CVE-2024-24762)

Summary: CVE-2024-24762 python-fastapi: regular expression denial of service vulnerability
Product: [Other] Security Response Reporter: Robb Gatica <rgatica>
Component: vulnerabilityAssignee: Product Security <prodsec-ir-bot>
Status: NEW --- QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedKeywords: Security
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: fastapi 0.109.0 Doc Type: ---
Doc Text:
A flaw was discovered in the FastAPI framework. 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. This can cause the main event loop to stall indefinitely, which can lead to a denial of service.
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2262844    
Bug Blocks:    

Description Robb Gatica 2024-02-05 17:52:03 UTC
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.

https://github.com/tiangolo/fastapi/commit/9d34ad0ee8a0dfbbcce06f76c2d5d851085024fc
https://github.com/tiangolo/fastapi/releases/tag/0.109.1
https://github.com/tiangolo/fastapi/security/advisories/GHSA-qf9m-vfgh-m389

Comment 1 Robb Gatica 2024-02-05 17:52:16 UTC
Created python-fastapi tracking bugs for this issue:

Affects: fedora-all [bug 2262844]