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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| pallets | werkzeug | < 3.1.9 | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 26.10 | python-werkzeug | No fix yet | — |
| Ubuntu 26.04 LTS | python-werkzeug | No fix yet | — |
| Ubuntu 24.04 LTS | python-werkzeug | No fix yet | — |
| Ubuntu 22.04 LTS | python-werkzeug | No fix yet | — |
| Ubuntu 20.04 LTS | python-werkzeug | No fix yet | — |
Show 2 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Pro 18.04 LTS | python-werkzeug | No fix yet | — |
| Ubuntu Pro 16.04 LTS | python-werkzeug | No fix yet | — |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Tumbleweed | python-Werkzeug | 3.1.9-1.1 | openSUSE-SU-2026:11943-1 |
Azure Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Azure Linux 3 | tensorflow +2 | No fix yet | — |
Wolfi
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Wolfi rolling | py3.13-ambassador | 4.1.0-r19 | — |
| Wolfi rolling | superset-6.0 | 6.0.0-r20 | — |
| Wolfi rolling | superset-6.1 | 6.1.0-r14 | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| PyPI | werkzeug | < 3.1.9 | 3.1.9 | GHSA-g6x2-hccm-hh4m |
Advisories 1
- openSUSE-SU-2026:11943-1 python313-Werkzeug-3.1.9-1.1 on GA media SUSE / openSUSE Security Updates · Oct 2, 2026