Medium severity · published Sep 29, 2026
CVE-2026-102598
Werkzeug safe_join() allows Windows special device names
6.3
CVSS
0.4%
EPSS
No
On KEV
Description
Werkzeug is a comprehensive WSGI web application library. Prior to 3.1.9, the safe_join function used by send_from_directory can allow a NUL: special-device path because safe_join checks the Windows device name without first removing an empty NTFS ADS marker. The trigger is that an application runs on Windows with NTFS and serves a user-specified path ending in a special device name such as NUL:. The attack mechanism is that a requested path ends in a Windows special device name with an empty ADS marker. The impact is that the special device opens successfully and the file read hangs indefinitely. This issue is fixed in version 3.1.9.
Exploitation
Is it being used?
Exploit prediction (EPSS)0.4% · higher than 31% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
WE
werkzeug · pallets
< 3.1.9 · source: vendor
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-102598
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-102598
x_refsource_CONFIRM
https://github.com/pallets/werkzeug/security/advisories/GHSA-g6x2-hccm-hh4m
x_refsource_MISC
https://github.com/pallets/werkzeug/pull/3309
x_refsource_MISC
https://github.com/pallets/werkzeug/commit/8d77320bcdf3a34941ec06dcf16b03c065cd21b6
x_refsource_MISC
https://github.com/pallets/werkzeug/releases/tag/3.1.9
More from werkzeug
5.3
CVE-2026-27199
Werkzeug safe_join() allows Windows special device names
5.3
CVE-2026-21860
Werkzeug safe_join() allows Windows special device names with compound extensions
