CVE-2025-66418CVE-2025-66418是Python知名HTTP客户端库urllib3中的一个高危拒绝服务漏洞。该漏洞影响urllib3 1.24版本至2.6.0之前的版本。漏洞根源在于urllib3在处理HTTP响应解压缩时,对解压链的数量没有进行限制。攻击者可以构建一个恶意的HTTP服务器,在响应头中注入无限数量的压缩层(如Content-Encoding链),使客户端在解压缩过程中消耗大量CPU资源并分配海量内存。当受害者的Python应用程序使用urllib3请求攻击者控制的服务器时,会触发此漏洞,最终导致服务不可用。由于urllib3是Python生态中广泛使用的HTTP库,许多知名项目如requests、boto等依赖它,因此该漏洞影响范围较广。建议受影响的用户尽快升级到urllib3 2.6.0或更高版本以修复此问题。
urllib3库在处理HTTP响应解压时存在安全缺陷。正常情况下,HTTP服务器可能返回经过gzip、deflate等算法压缩的响应内容,urllib3会根据Content-Encoding头部自动解压。然而,该库在实现解压缩逻辑时,没有对压缩链的深度进行限制。攻击者可以构造一个恶意服务器,返回包含多个Content-Encoding层的响应(如:Content-Encoding: gzip, gzip, gzip, ...),每个压缩层都是有效的但又包含下一个压缩层。当urllib3尝试递归解压时,会产生指数级的计算和内存开销。例如,1000层压缩可能导致数GB内存占用和数分钟的CPU时间。这种攻击无需认证,也不需要用户交互,攻击者只需诱使受害者使用urllib3访问恶意URL即可。漏洞的CVSS向量显示攻击复杂度低(AC:L),网络可达(AV:N),无需权限(PR:N),对可用性影响为高(H)。