CVE-2025-66221Improper Handling of Windows Device Names in Werkzeug

Severity
6.3MEDIUMNVD
EPSS
0.0%
top 90.88%
CISA KEV
Not in KEV
Exploit
No known exploits
Timeline
PublishedNov 29
Latest updateDec 2

Description

Werkzeug is a comprehensive WSGI web application library. Prior to version 3.1.4, Werkzeug's safe_join function allows path segments with Windows device names. On Windows, there are special device names such as CON, AUX, etc that are implicitly present and readable in every directory. send_from_directory uses safe_join to safely serve files at user-specified paths under a directory. If the application is running on Windows, and the requested path ends with a special device name, the file will be

CVSS vector

CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N

Affected Packages3 packages

CVEListV5pallets/werkzeug< 3.1.4

Patches

🔴Vulnerability Details

4
GHSA
Werkzeug safe_join() allows Windows special device names2025-12-02
OSV
Werkzeug safe_join() allows Windows special device names2025-12-02
OSV
CVE-2025-66221: Werkzeug is a comprehensive WSGI web application library2025-11-29
CVEList
Werkzeug safe_join() allows Windows special device names2025-11-29

📋Vendor Advisories

3
Red Hat
Werkzeug: Werkzeug: Denial of service via Windows device names in path segments2025-11-29
Microsoft
Werkzeug safe_join() allows Windows special device names2025-11-11
Debian
CVE-2025-66221: python-werkzeug - Werkzeug is a comprehensive WSGI web application library. Prior to version 3.1.4...2025
CVE-2025-66221 — Pallets Werkzeug vulnerability | cvebase