Featured image of post Werkzeug安全漏洞:safe_join()函数未能正确处理Windows特殊设备名

Werkzeug安全漏洞:safe_join()函数未能正确处理Windows特殊设备名

本文详细分析了Werkzeug框架中safe_join()函数存在的安全漏洞(CVE-2025-66221)。该漏洞允许请求路径包含Windows特殊设备名(如CON、AUX),导致在Windows系统上使用send_from_directory时服务可能无限挂起,构成拒绝服务风险。

Werkzeug safe_join() 允许使用Windows特殊设备名 · CVE-2025-66221 · GitHub Advisory Database

漏洞详情

包管理工具: pip 受影响包: werkzeug (pip) 受影响版本: < 3.1.4 已修复版本: 3.1.4

描述

Werkzeug的safe_join函数允许路径段中包含Windows设备名。在Windows系统上,存在一些特殊的设备名,如CONAUX等,这些名称隐含存在于每个目录中并可读。send_from_directory函数使用safe_join来安全地提供用户指定路径下的文件。如果应用程序在Windows上运行,并且请求的路径以特殊设备名结尾,文件将成功打开,但读取操作会无限期挂起。

参考信息

时间线

  • davidism 发布至 pallets/werkzeug: 2025年11月29日
  • 国家漏洞数据库发布: 2025年11月29日
  • GitHub Advisory Database发布: 2025年12月2日
  • 审核完成: 2025年12月2日

严重程度

中等 CVSS总体评分: 6.3/10

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

EPSS 分数

0.044% (第13百分位) 此分数估计此漏洞在未来30天内被利用的概率。数据由FIRST提供。

弱点

弱点: CWE-67 标题: 对Windows设备名处理不当 描述: 产品从用户输入构造路径名,但未处理或错误处理包含Windows设备名(如AUX或CON)的路径名。当应用程序尝试将路径名作为常规文件处理时,通常会导致拒绝服务或信息泄露。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计