Werkzeug is a comprehensive WSGI web application library. Versions 3.1.5 and below, the safe_join function allows Windows device names as filenames if preceded by other path segments. This was previously reported as GHSA-hgf8-39gv-g3f2, but the added filtering failed to account for the fact that safe_join accepts paths with multiple segments, such as example/NUL. The function 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 fixed in version 3.1.6.
Metrics
Affected Vendors & Products
References
History
Sat, 21 Feb 2026 05:30:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Description | Werkzeug is a comprehensive WSGI web application library. Versions 3.1.5 and below, the safe_join function allows Windows device names as filenames if preceded by other path segments. This was previously reported as GHSA-hgf8-39gv-g3f2, but the added filtering failed to account for the fact that safe_join accepts paths with multiple segments, such as example/NUL. The function 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 fixed in version 3.1.6. | |
| Title | Werkzeug safe_join() allows Windows special device names | |
| Weaknesses | CWE-67 | |
| References |
| |
| Metrics |
cvssV4_0
|
Status: PUBLISHED
Assigner: GitHub_M
Published:
Updated: 2026-02-21T05:15:53.335Z
Reserved: 2026-02-18T19:47:02.155Z
Link: CVE-2026-27199
No data.
Status : Received
Published: 2026-02-21T06:17:00.710
Modified: 2026-02-21T06:17:00.710
Link: CVE-2026-27199
No data.
OpenCVE Enrichment
No data.