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.
History

Sat, 29 Nov 2025 03:00:00 +0000

Type Values Removed Values Added
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 opened successfully, but reading will hang indefinitely. This issue has been patched in version 3.1.4.
Title Werkzeug safe_join() allows Windows special device names
Weaknesses CWE-67
References
Metrics cvssV4_0

{'score': 6.3, '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'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published: 2025-11-29T02:28:34.524Z

Updated: 2025-11-29T02:28:34.524Z

Reserved: 2025-11-24T23:01:29.679Z

Link: CVE-2025-66221

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2025-11-29T03:16:00.050

Modified: 2025-11-29T03:16:00.050

Link: CVE-2025-66221

cve-icon Redhat

No data.