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.

Project Subscriptions

Vendors Products
Palletsprojects Subscribe
Werkzeug Subscribe
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

Mon, 23 Feb 2026 15:00:00 +0000

Type Values Removed Values Added
First Time appeared Palletsprojects
Palletsprojects werkzeug
Vendors & Products Palletsprojects
Palletsprojects werkzeug

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-24T19:02:19.689Z

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

Link: CVE-2026-27199

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Awaiting Analysis

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

Modified: 2026-02-23T18:13:53.397

Link: CVE-2026-27199

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-02-23T14:32:43Z

Weaknesses