OpenAI 红队揪出 Brotli 解码器洞:Node.js / Bun / Envoy 可未认证 RCE
OpenAI 在加固前沿训评环境的红队中发现 Google Brotli 解码器越界写(CVE-2026-111497),可导致未认证远程代码执行;波及 Node.js、Bun、Envoy、Python Brotli 包等。Node.js 已发 22.23.4 / 24.22.1 / 26.12.1;Imperva 在官方脆弱镜像上复现为 Node2Shell。
OpenAI 官方 X 在披露训评环境加固时同步称:红队还发现广泛部署的压缩库 Brotli 存在可未认证远程代码执行的漏洞,影响 Node.js、Bun、Envoy 等。The Hacker News 等报道 CVE 为 CVE-2026-111497,根因是 Google Brotli C 解码器越界写;Google 按 CVSS 4.0 给约 9.2 分。Node.js 安全公告将发现归功于 OpenAI Codex Security 的 Khai Tran 与 Sylvie Mayer。
暴露面是「解码他人可控的 Brotli」:Node.js / Bun 的 fetch() 读 br 响应,或 Express 5 / body-parser 2 解压 br 请求体;Envoy/Istio 仅在启用 Brotli 解压时受影响;Python 只要装了 Brotli / brotlicffi,requests/httpx 等会自动解 br。OpenAI 指出双向风险——恶意客户端打未打补丁的服务器,或恶意服务器打未打补丁的客户端(如 curl --compressed)。
修复:Brotli 1.0.10 / 1.1.1 / 1.2.1;Node.js 22.23.4、24.22.1、26.12.1;Bun 1.4.4 等。根因补丁其实 2 月已进 Brotli 源码,但当时未识别为安全洞、也未发版,直至 10 月 21 日才随产品发布。Imperva 红队称 Node2Shell,在官方 Node.js 24.22.0 Linux arm64 镜像上复现代码执行,同输入在 24.22.1 被拒;CISA 评估尚无野外利用。定位为防御披露,不含可复现利用细节。


