p PatchFirst

CVE-2026-27199

CVE-2026-27199 · Werkzeug safe_join() allows Windows special device names

This page contains facts from public vulnerability sources. Check the original advisory before updating.

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.

CVSS 6.3 · Medium · EPSS 0.6% · Fix available

Published
Updated

Stack: python

Affected products and versions

  • werkzeug

    Versions
    • < 3.1.6: Affected

    No fix published

  • werkzeug PyPI

    Versions
    • 0.1
    • 0.10
    • 0.10.1
    • 0.10.2
    • 0.10.3
    • 0.10.4
    • 0.11
    • 0.11.1
    • 0.11.10
    • 0.11.11
    • 0.11.12
    • 0.11.13
    • 0.11.14
    • 0.11.15
    • 0.11.2
    • 0.11.3
    • 0.11.4
    • 0.11.5
    • 0.11.6
    • 0.11.7
    • 0.11.8
    • 0.11.9
    • 0.12
    • 0.12.1
    • 0.12.2
    • 0.13
    • 0.14
    • 0.14.1
    • 0.15.0
    • 0.15.1
    • 0.15.2
    • 0.15.3
    • 0.15.4
    • 0.15.5
    • 0.15.6
    • 0.16.0
    • 0.16.1
    • 0.2
    • 0.3
    • 0.3.1
    • 0.4
    • 0.4.1
    • 0.5
    • 0.5.1
    • 0.6
    • 0.6.1
    • 0.6.2
    • 0.7
    • 0.7.1
    • 0.7.2
    • 0.8
    • 0.8.1
    • 0.8.2
    • 0.8.3
    • 0.9
    • 0.9.1
    • 0.9.2
    • 0.9.3
    • 0.9.4
    • 0.9.5
    • 0.9.6
    • 1.0.0
    • 1.0.0rc1
    • 1.0.1
    • 2.0.0
    • 2.0.0rc1
    • 2.0.0rc2
    • 2.0.0rc3
    • 2.0.0rc4
    • 2.0.0rc5
    • 2.0.1
    • 2.0.2
    • 2.0.3
    • 2.1.0
    • 2.1.1
    • 2.1.2
    • 2.2.0
    • 2.2.0a1
    • 2.2.1
    • 2.2.2
    • 2.2.3
    • 2.3.0
    • 2.3.1
    • 2.3.2
    • 2.3.3
    • 2.3.4
    • 2.3.5
    • 2.3.6
    • 2.3.7
    • 2.3.8
    • 3.0.0
    • 3.0.1
    • 3.0.2
    • 3.0.3
    • 3.0.4
    • 3.0.5
    • 3.0.6
    • 3.1.0
    • 3.1.1
    • 3.1.2
    • 3.1.3
    • 3.1.4
    • 3.1.5
    Affected ranges
    • ECOSYSTEM: < 3.1.6

    Update to 3.1.6

Original sources

Check your server →