Werkzeug safe_join() allows Windows special device names
Description
Published by the National Vulnerability Database
Sep 29, 2026
Published to the GitHub Advisory Database
Oct 5, 2026
Reviewed
Oct 5, 2026
Last updated
Oct 5, 2026
Werkzeug's
safe_joinfunction allows Windows device names as filenames when they have an empty ADS marker on NTFS.This was previously reported as GHSA-hgf8-39gv-g3f2, but the added filtering failed to account for the fact Windows allows special device names with an empty ADS marker, such as
NUL:.send_from_directoryusessafe_jointo safely serve files at user-specified paths under a directory. If the application is running on Windows and NTFS, and the requested path ends with a special device name, the file will be opened successfully, but reading will hang indefinitely.References