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.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
pallets werkzeug
>= 2.0.0rc1, < 3.0.6affected
pallets Quart
< 0.20.0affected
References
- https://github.com/pallets/werkzeug/security/advisories/GHSA-q34m-jh98-gwm2 ↗
- https://github.com/pallets/quart/commit/5e78c4169b8eb66b91ead3e62d44721b9e1644ee ↗
- https://github.com/pallets/quart/commit/abb04a512496206de279225340ed022852fbf51f ↗
- https://github.com/pallets/werkzeug/commit/50cfeebcb0727e18cc52ffbeb125f4a66551179b ↗
- https://github.com/pallets/werkzeug/releases/tag/3.0.6 ↗
- https://security.netapp.com/advisory/ntap-20250103-0007/ ↗