微软、Node.js等紧急修补“HTTP2Shell”漏洞:Brotli压缩库现高危RCE风险,影响数百万网站
谷歌开源的Brotli压缩库发现严重越界写入漏洞(CVE-2026-111497),可导致远程代码执行。微软、Node.js及Python生态已发布补丁,管理员需立即更新以防服务器被接管。
近期,多个主要技术公司紧急修补了一个被称为“HTTP2Shell”的关键安全漏洞。该漏洞存在于谷歌开发的开源数据压缩算法Brotli中,编号为CVE-2026-111497,严重程度评分高达9.2/10(关键级)。Brotli广泛用于压缩HTML、CSS和JavaScript等HTTP响应,几乎所有现代浏览器、服务器和软件库都支持它。
根据美国国家漏洞数据库(NVD)的描述,这是一个越界写入缺陷,会导致缓冲区溢出。攻击者若能提供特制的Brotli数据供应用程序解压,就可能破坏进程内存,导致拒绝服务、内存泄露,甚至在某些情况下实现远程代码执行(RCE)。这与之前引发关注的PHP漏洞类似,但影响范围更广,涉及Node.js、Python包(如brotlicffi)、HTTP客户端(Requests, urllib3, httpx, aiohttp)以及.NET应用。
谷歌已于2026年10月21日修复了该漏洞,发布了Brotli版本1.0.10、1.1.1和1.2.1。然而,由于许多软件捆绑或使用了易受攻击的Brotli版本,仅更新谷歌库并不足以保护所有应用。微软随后在周末发布了针对.NET的紧急更新,指出成功利用可能导致权限提升。Node.js也在10月21日发布了补丁,其官方说明称:“无效的块切换被报告为临时需要更多输入,而不是永久格式错误,因此流式解码器不断将输入字节追加到八字节内部缓冲区。”受影响版本包括Node.js 26.x、24.x和22.x。
PyPI上的Python修复包于10月23日可用。目前已有专门的网站Broccoli2Shell.com追踪此问题,并报告称概念验证(PoC)利用代码已在GitHub上公开,但尚未观察到野外恶意利用。对于无法立即打补丁的系统,建议配置代理、负载均衡器或Web应用防火墙(WAF)以拒绝包含Brotli压缩体的传入请求,但这不能保护下载并解压恶意HTTP响应的应用。系统管理员应尽快应用补丁,重启受影响进程,并重建和重新部署容器镜像。