Werkzeug safe_join() allows Windows special device names
GHSA-hgf8-39gv-g3f2 · CVE-2025-66221 · PYSEC-2026-2046
Published · Modified
AI SAST
Find this class of vulnerability in your own code
Corgea's AI-native static analysis detects vulnerabilities like this one across your repositories, ranks them by exploitability, and returns review-ready fixes.
Description
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.
References
- WEB https://github.com/pallets/werkzeug/security/advisories/GHSA-hgf8-39gv-g3f2
- ADVISORY https://nvd.nist.gov/vuln/detail/CVE-2025-66221
- WEB https://github.com/pallets/werkzeug/commit/4b833376a45c323a189cd11d2362bcffdb1c0c13
- PACKAGE https://github.com/pallets/werkzeug
- WEB https://github.com/pallets/werkzeug/releases/tag/3.1.4
Ready to move
Start Securing
Free, no credit card | First findings in minutes