7.5 High
CVSS3
Attack Vector
NETWORK
Attack Complexity
LOW
Privileges Required
NONE
User Interaction
NONE
Scope
UNCHANGED
Confidentiality Impact
NONE
Integrity Impact
NONE
Availability Impact
HIGH
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
0.001 Low
EPSS
Percentile
50.7%
Werkzeug’s multipart form data parser will parse an unlimited number of parts, including file parts. Parts can be a small amount of bytes, but each requires CPU time to parse and may use more memory as Python data. If a request can be made to an endpoint that accesses request.data
, request.form
, request.files
, or request.get_data(parse_form_data=False)
, it can cause unexpectedly high resource usage.
This allows an attacker to cause a denial of service by sending crafted multipart data to an endpoint that will parse it. The amount of CPU time required can block worker processes from handling legitimate requests. The amount of RAM required can trigger an out of memory kill of the process. Unlimited file parts can use up memory and file handles. If many concurrent requests are sent continuously, this can exhaust or kill all available workers.
github.com/pallets/werkzeug
github.com/pallets/werkzeug/commit/517cac5a804e8c4dc4ed038bb20dacd038e7a9f1
github.com/pallets/werkzeug/releases/tag/2.2.3
github.com/pallets/werkzeug/security/advisories/GHSA-xg9f-g7g7-2323
nvd.nist.gov/vuln/detail/CVE-2023-25577
security.netapp.com/advisory/ntap-20230818-0003
www.debian.org/security/2023/dsa-5470