摘要:
python-werkzeug security update
安全等级: High
公告ID: KylinSec-SA-2025-2478
发布日期: 2025年5月30日
关联CVE: CVE-2024-49767
Werkzeug 是一个功能完备的 WSGI_ Web 应用程序库。最初作为 WSGI 应用的实用工具集合,现已发展为最先进的 WSGI 工具库之一,包含以下核心功能:
交互式调试器:支持浏览器内查看堆栈跟踪、源码,并通过交互式解释器逐帧调试
全功能请求对象:封装 HTTP 头部、查询参数、表单数据、文件上传和 Cookie 的操作接口
响应对象:支持流数据处理,可包装其他 WSGI 应用
路由系统:支持 URL 与端点映射、动态参数捕获,提供可扩展的 URL 生成机制
HTTP 工具集:涵盖实体标签、缓存控制、日期处理、用户代理解析、Cookie 管理等功能
开发服务器:内置多线程 WSGI 服务器,适用于本地开发调试
测试客户端:无需启动服务即可模拟 HTTP 请求
Werkzeug 不强制依赖特定模板引擎、数据库适配器或请求处理方式,开发者可自由选择技术栈。其灵活性支持构建博客、维基、论坛等各类终端应用。例如,Flask_ 框架即基于 Werkzeug 构建,在保留其 WSGI 处理能力的同时提供更高级的应用架构模式。
安全修复:
Werkzeug 是符合 Web 服务器网关接口(WSGI)标准的 Web 应用库。所有使用 werkzeug.formparser.MultiPartParser 解析 multipart/form-data 请求的应用(包括所有 Flask 应用)在 3.0.6 版本前存在漏洞(CVE-2024-49767)。攻击者可通过构造恶意表单提交请求,触发解析器在内存中分配 3 至 8 倍于上传文件大小的内存块。该漏洞无请求大小限制:以 1 Gbit/s 速率上传时,仅需 60 秒即可耗尽 32 GB 内存。
修复方案:
升级至 Werkzeug 3.0.6 版本,该版本通过优化内存分配策略彻底消除漏洞。
技术解析:
漏洞原理:多部分解析器未对上传文件大小进行有效限制,恶意请求可诱导解析器超额预分配内存。
攻击影响:单机低带宽攻击即可导致服务内存耗尽,引发拒绝服务(DoS)。
缓解建议:
立即升级至 Werkzeug ≥3.0.6
临时防护:限制上传文件大小(需结合反向代理配置)
监控异常内存使用行为
cve名称 | 产品 | 组件 | 是否受影响 |
---|---|---|---|
CVE-2024-49767 | V6 | python-werkzeug | Fixed |
软件名称 | 架构 | 版本号 |
---|---|---|
python-werkzeug-help | noarch | 2.2.3-3.ks6 |
python3-werkzeug | noarch | 2.2.3-3.ks6 |
方法一:下载安装包进行升级安装
1、通过下载链接下载需要升级的升级包保存,如 xxx.rpm
2、通过rpm命令升级,如 rpm -Uvh xxx.rpm
方法二:通过软件源进行升级安装
1、保持能够连接上互联网
2、通过yum命令升级指定的包,如 yum install 包名