CVE-2024-49767 Werkzeug possible resource exhaustion when parsing file data in forms

Medium 6.9 Published Updated

Attackers can cause resource exhaustion and denial of service by sending crafted multipart form data to applications using the Werkzeug library.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2024-49767?

CVE-2024-49767 is a medium-severity denial of service vulnerability in pallets Quart, published on 25 Oct 2024. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

Werkzeug is a Web Server Gateway Interface web application library. Applications using `werkzeug.formparser.MultiPartParser` corresponding to a version of Werkzeug prior to 3.0.6 to parse `multipart/form-data` requests (e.g. all flask applications) are vulnerable to a relatively simple but effective resource exhaustion (denial of service) attack. A specifically crafted form submission request can cause the parser to allocate and block 3 to 8 times the upload size in main memory. There is no upper limit; a single upload at 1 Gbit/s can exhaust 32 GB of RAM in less than 60 seconds. Werkzeug version 3.0.6 fixes this issue.

Weakness: CWE-770, CWE-400

Which versions are affected by CVE-2024-49767?

6 open source packages ship an affected version, including quart, Quart and Werkzeug. It affects 2 products.

PackageAffectedFixed in
quart PyPIAll versions0.20.0
quart PyPIAll versions0.20.0
Quart PyPIAll versions0.20.0
Werkzeug PyPIFrom 2.0.0rc13.0.6
werkzeug PyPIFrom 2.0.0rc13.0.6
werkzeug PyPIFrom 2.0.0rc13.0.6
Linux distribution packages (5)
python-Werkzeug SUSE:Linux Enterprise Module for Python 3 15 SP5All versions2.3.6-150400.6.12.1
python-Werkzeug SUSE:Linux Enterprise Module for Python 3 15 SP6All versions2.3.6-150400.6.12.1
python-Werkzeug openSUSE:Leap 15.5All versions2.3.6-150400.6.12.1
python-Werkzeug openSUSE:Leap 15.6All versions2.3.6-150400.6.12.1
python-Werkzeug openSUSE:TumbleweedAll versions3.0.6-1.1

Products include Palletsprojects Quart, Palletsprojects Werkzeug.

How do I fix CVE-2024-49767?

Upgrade quart to 0.20.0 or later.

Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.

Is CVE-2024-49767 being exploited?

There is no known exploitation of CVE-2024-49767 in the wild and no public exploit code.

Sources

Also known as ALPINE-CVE-2024-49767, AZL-51690, AZL-51723, BELL-CVE-2024-49767, CLEANSTART-2026-PR62094, CLEANSTART-2026-QY47175 and 16 more.

Is CVE-2024-49767 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free