CVE-2025-66221
published 2025-11-29CVE-2025-66221: 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…
PriorityP429medium5.3CVSS 3.1
AVNACLPRNUINSUCNINAL
EPSS
0.47%
37.5th percentile
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 opened successfully, but reading will hang indefinitely. This issue has been patched in version 3.1.4.
Affected
7 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| debian | python-werkzeug | — | — |
| msrc | azl3_python-tensorboard_2.16.2-6_on_azure_linux_3.0 | — | — |
| msrc | azl3_tensorflow_2.16.1-9_on_azure_linux_3.0 | — | — |
| msrc | cbl2_python-tensorboard_2.11.0-3_on_cbl_mariner_2.0 | — | — |
| pallets | werkzeug | < 3.1.4 | 3.1.4 |
| palletsprojects | werkzeug | < 3.1.4 | 3.1.4 |
| palletsprojects | werkzeug | >= 0 < 3.1.4 | 3.1.4 |
CVSS provenance
nvdv3.15.3MEDIUMCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
nvdv4.06.3MEDIUMCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
osv6.3MEDIUM
vendor_debian6.3LOW
vendor_msrc6.3MEDIUM
vendor_redhat6.3MEDIUM
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
GHSA
Werkzeug safe_join() allows Windows special device names
ghsa·2025-12-02
CVE-2025-66221 [MEDIUM] CWE-67 Werkzeug safe_join() allows Windows special device names
Werkzeug safe_join() allows Windows special device names
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 opened successfully, but reading will hang indefinitely.
OSV
Werkzeug safe_join() allows Windows special device names
osv·2025-12-02
CVE-2025-66221 [MEDIUM] Werkzeug safe_join() allows Windows special device names
Werkzeug safe_join() allows Windows special device names
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 opened successfully, but reading will hang indefinitely.
OSV
CVE-2025-66221: Werkzeug is a comprehensive WSGI web application library
osv·2025-11-29·CVSS 6.3
CVE-2025-66221 [MEDIUM] CVE-2025-66221: Werkzeug is a comprehensive WSGI web application library
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 opened successfully, but reading will hang indefinitely. This issue has been patched in version 3.1.4.
Red Hat
Werkzeug: Werkzeug: Denial of service via Windows device names in path segments
vendor_redhat·2025-11-29·CVSS 6.3
CVE-2025-66221 [MEDIUM] CWE-67 Werkzeug: Werkzeug: Denial of service via Windows device names in path segments
Werkzeug: Werkzeug: Denial of service via Windows device names in path segments
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 opened successfully, but reading will hang indefinitely. This issue has been patched in version 3.1.4.
A flaw was found in Werkzeug. This vulnerability allows a denial of service via path segments with Windows device
Microsoft
Werkzeug safe_join() allows Windows special device names
vendor_msrc·2025-11-11·CVSS 6.3
CVE-2025-66221 [MEDIUM] CWE-67 Werkzeug safe_join() allows Windows special device names
Werkzeug safe_join() allows Windows special device names
Mariner: Mariner
GitHub_M: GitHub_M
Customer Action Required: Yes
Debian
CVE-2025-66221: python-werkzeug - Werkzeug is a comprehensive WSGI web application library. Prior to version 3.1.4...
vendor_debian·2025·CVSS 6.3
CVE-2025-66221 [MEDIUM] CVE-2025-66221: python-werkzeug - Werkzeug is a comprehensive WSGI web application library. Prior to version 3.1.4...
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 opened successfully, but reading will hang indefinitely. This issue has been patched in version 3.1.4.
Scope: local
bookworm: resolved
bullseye: resolved
forky: resolved
sid: resolved
trixie: resolved
No detection rules found.
No public exploits indexed.
No writeups or analysis indexed.
2025-11-29
Published