Werkzeug vulnerable to high resource usage when parsing multipart/form-data containing a large part with CR/LF character at the beginning (pallets werkzeug)

CVE-2023-46136
HIGH 8.0

At a glance

Source
NVD
EPSS
EPSS 1.29 % · percentile 70 ()
State
PUBLISHED
Published
Updated
Assigner
GitHub_M
NVD status
Modified

Description

Werkzeug is a comprehensive WSGI web application library. In versions on the 3.x branch prior to 3.0.1 and on the 2.x branch prior to 2.3.8, if an upload of a file that starts with CR or LF and then is followed by megabytes of data without these characters: all of these bytes are appended chunk by chunk into internal bytearray and lookup for boundary is performed on growing buffer. 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. This vulnerability has been patched in version 3.0.1 and 2.3.8.

Weaknesses (CWE)

  • CWE-407 — Inefficient Algorithmic Complexity
  • CWE-400 — Uncontrolled Resource Consumption
  • CWE-787 — Out-of-bounds Write

References

Scores

VersionScoreVectorScored by
CVSS 3.1HIGH 8.0CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HGitHub_M
CVSS 3.1HIGH 8.0CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HNVD · security-advisories@github.com (Secondary)
CVSS 3.1HIGH 7.5CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:HNVD · nvd@nist.gov (Primary)

Advisories

European references

CERT-FR advisories

Affected configurations (NVD CPE)

Affected products

ProductVersions
pallets · werkzeugaffected >= 3.0.0, < 3.0.1 ; affected >= 2.0.0rc1, < 2.3.8

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST — attribution requested
ENISA EUVDENISA — reproduction authorised, source acknowledged
CERT-FR (ANSSI)Licence Ouverte / Etalab 2.0
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain — this product uses data from the NVD API but is not endorsed or certified by the NVD