CVE-2025-66221

Source
https://nvd.nist.gov/vuln/detail/CVE-2025-66221
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2025-66221.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2025-66221
Aliases
Downstream
Related
Published
2025-11-29T02:28:34.524Z
Modified
2025-12-03T15:24:16.468124Z
Severity
  • 6.3 (Medium) CVSS_V4 - CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N CVSS Calculator
Summary
Werkzeug safe_join() allows Windows special device names
Details

Werkzeug is a comprehensive WSGI web application library. Prior to version 3.1.4, Werkzeug's safejoin 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. sendfromdirectory uses safejoin 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.

Database specific
{
    "cna_assigner": "GitHub_M",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/66xxx/CVE-2025-66221.json",
    "cwe_ids": [
        "CWE-67"
    ]
}
References

Affected packages

Git / github.com/pallets/werkzeug

Affected ranges

Type
GIT
Repo
https://github.com/pallets/werkzeug
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed

Affected versions

0.*

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.14.x
0.15.0
0.15.1
0.15.2
0.15.3
0.15.4
0.15.5
0.15.6
0.15.x
0.16.0
0.16.1
0.16.x
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.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.*

1.0.0
1.0.0rc1
1.0.1
1.0.x

2.*

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.0.x
2.1.0
2.1.1
2.1.2
2.1.x
2.2.0
2.2.0a1
2.2.1
2.2.2
2.2.3
2.2.x
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
2.3.x

3.*

3.0.2
3.0.3
3.0.4
3.0.5
3.0.6
3.0.x
3.1.0
3.1.1
3.1.2
3.1.3