Scrapy与Brotli解压缩漏洞导致拒绝服务攻击
漏洞详情
包管理器: pip
受影响组件:
- Scrapy (pip) - 受影响版本: <= 2.13.3
- Brotli (pip) - 受影响版本: <= 1.1.0
已修复版本:
- Brotli: 1.2.0
- Scrapy: 暂无修复版本
漏洞描述
Brotli 1.1.0及以下版本存在由于解压缩导致的拒绝服务(DoS)攻击漏洞。该漏洞已在Brotli 1.2.0版本中得到修复。
此漏洞同时影响使用Brotli解压缩功能的Scrapy用户,Scrapy 2.13.2及以下版本的用户面临拒绝服务攻击风险。针对解压缩炸弹的保护机制无法有效缓解brotli变体攻击,远程服务器可通过特制数据使客户端崩溃,所需内存不足80GB。
这种攻击能够成功的原因是brotli对零填充数据能够实现极高的压缩比,导致在解压缩过程中消耗过多内存。
技术细节
CVSS v3基础指标:
- 攻击向量: 网络
- 攻击复杂度: 低
- 所需权限: 无
- 用户交互: 无
- 范围: 未改变
- 机密性影响: 无
- 完整性影响: 无
- 可用性影响: 高
CVSS v3基础分数: 7.5(高危)
弱点类型: CWE-400 非受控资源消耗
参考链接
- https://nvd.nist.gov/vuln/detail/CVE-2025-6176
- https://huntr.com/bounties/2c26a886-5984-47ee-a421-0d5fe1344eb0
- google/brotli#1327 (评论)
- google/brotli#1234
- google/brotli@67d78bc
- https://github.com/google/brotli/releases/tag/v1.2.0
- scrapy/scrapy#7134
安全建议
建议用户升级到Brotli 1.2.0版本以修复此漏洞,同时关注Scrapy官方关于此漏洞的修复进展。