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 cant handle any more requests, leading to regular expression denial of service. This vulnerability has been patched in version 0.0.7.
The product uses a regular expression with an inefficient, possibly exponential worst-case computational complexity that consumes excessive CPU cycles.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Python-multipart | Fastapiexpert | * | 0.0.7 (excluding) |
Python-multipart | Ubuntu | mantic | * |
Attackers can create crafted inputs that
intentionally cause the regular expression to use
excessive backtracking in a way that causes the CPU
consumption to spike.