大量 HTTP 应用面临 RCE 与 DoS 攻击
【紧急通知 ⚠️】起身打「丁」 !! 「HTTP2Shell」世纪级漏洞登场,这个漏洞原本是 Node.js 中引发的「Node2Shell」9.2 分高危漏洞(CVE-2026-111497)。随着调查深入后发现越来越「大件事」,原来该漏洞背后是源自 Google Brotli 资料压缩解码器中的记忆体越界写入缺陷。这项技术广泛应用于现代 HTTP 流量压缩与解压缩架构,全球包含 Node.js、Bun、C++、Python……(不能尽录)开发软体、反向代理伺服器及大量 HTTP 应用与程式库皆受到波及,全球网络将面临极严峻的远端代码执行(RCE)及阻断服务(DoS)攻击。
根据资安情报团队 Aikido Intel 指出,CVE-2026-111497 最初由 Node.js 官方于安全性更新中释出修补,并由安全研究团队命名为「Node2Shell」。然而,经过逆向工程与跨平台相依性比对后发现,问题核心并非 Node.js 本身的逻辑错误,而是其内建由 Google 开发的开源压缩程式库 Brotli(版本 1.0.3 至 1.2.0)存在严重的解码边界处理缺陷。
由于 Brotli 是目前网际网路标准中用于最佳化传输频宽的核心技术之一,大量伺服器与中介软体均预设启用该压缩演算法。资安机构确认其「爆炸半径」(Blast Radius)远超预期,正式将威胁升级为「HTTP2Shell」,警告任何处理 HTTP 压缩内容的相关服务皆可能暴露于危险中。
根据 CVE 漏洞通报,「HTTP2Shell」仍会沿用 CVE-2026-111497,原本 CVSS 9.2 评分可能会进一步上修,它是属于缓冲区溢位与越界写入漏洞(CWE-787、CWE-252),存在于 Brotli 解码器的 c/dec/decode.c 核心代码中。
当目标伺服器或客户端应用程式接收到特制的恶意 Brotli 压缩资料流(例如带有 Content-Encoding: br 的 HTTP 请求或回应)时,解码器在未能正确校验回传值的状态下展开资料,将导致记忆体堆叠毁损,攻击者可利用此漏洞达成以下后果:
◾远端代码执行(RCE): 资安研究人员已在特定架构的 Linux 环境下完成概念验证(PoC),能藉由恶意 HTTP 封包取得底层主机执行权限。
◾阻断服务(DoS): 触发核心分段错误(Segmentation Fault),造成常驻程序崩溃重启,中断连线服务。
◾敏感资讯外洩: 记忆体残留读取可能导致暂存于 Heap 中的 Token、加密金钥或未授权资料外洩。
目前仍无法估计完整的受影响范围,只知道受影响的开源生态系与执行环境相当庞大,包括︰
◾Node.js 执行环境: 22.x、24.x 与 26.x 之未修补版本,以及已终止支援(EOL)的旧版本(如 Node.js 20.x 及更早版本,官方不再释出开源更新修补)。
◾Bun 执行环境: 1.4.4 之前版本。
◾Python 生态系: PyPI 上的 Brotli(<=1.2.0)与 brotlicffi(<=1.2.0.x)套件。相依于上述套件的常见 HTTP 请求库(如 requests、urllib3、httpx、aiohttp 及 Scrapy 等爬虫框架)在解析 Brotli 回应时均会触发。
◾反向代理与闸道器: Envoy(1.40.0 以前特定版本)、Istio 服务网格等。
◾原生系统函式库: 系统内建的 libbrotli(1.0.3 ~ 1.2.0)以及动态/静态链结 Brotli 的 curl / libcurl 工具。
资安专家唿吁企业与网站管理者立即作出紧急防护与修补,採取的措施如下︰
◾升级 Node.js 与 Bun: 立即将 Node.js 更新至 22.23.4、24.22.1 或 26.12.1 安全版本;Bun 需升级至 1.4.4 以上。使用 Node.js EOL 版本的用户应尽速评估迁移架构或採用扩展维护方案。
◾升级 C++ 版本至 1.0.10、1.1.1 及 1.2.1 安全版本或以上。
◾立即更新 Python 相依套件至 1.2.1.0 版本或以上,并且在更新后务必重新建置容器映像档(Container Images)与锁定档(Lockfile)。
◾检查 Linux 发行版的安全修补通告,升级 libbrotli 至 1.2.1(旧维护分支为 1.0.10 / 1.1.1),并同步更新 API Gateway、Envoy 与反向代理伺服器。
◾以上这个修补清单只是暂时的,预期这份清单将会越来越长。
由于「HTTP2Shell」漏洞详情已经公开,致使未修补伺服器的受攻击风险大幅飙升,各位管理员必须作出紧急维护,以免成为攻击目标。
资料来源: