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.
Advisories
Source ID Title
Github GHSA Github GHSA GHSA-29vq-49wr-vm6x Werkzeug safe_join() allows Windows special device names
Fixes

Solution

No solution given by the vendor.


Workaround

No workaround given by the vendor.

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

{'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'}


Projects

Sign in to view the affected projects.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-02-21T05:15:53.335Z

Reserved: 2026-02-18T19:47:02.155Z

Link: CVE-2026-27199

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-02-21T06:17:00.710

Modified: 2026-02-21T06:17:00.710

Link: CVE-2026-27199

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

No data.

Weaknesses