Skip to main content
← All vulnerabilities
CVE-2025-66221GHSA-HGF8-39GV-G3F2PYSEC-2026-2046

Werkzeug safe_join() allows Windows special device names

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 3.1.4
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: yes
  • Technical impact: partial

Summary

Werkzeug is a comprehensive WSGI web application library. Prior to version 3.1.4, Werkzeug's safe_join function allows path segments with Windows device names. On Windows, there are special device names such as CON, AUX, etc that are implicitly present and readable in every directory. 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 patched in version 3.1.4.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: yes · Technical impact: partial

  3. Record last updated

Affected versions

  • pallets werkzeug

    fixed in 3.1.4

  • werkzeugPyPI

    fixed in 3.1.4

References 3

GitHub · pallets/werkzeug