专题 · FULL STORY

Brotli 高危 RCE 漏洞震荡多语言生态

OpenAI 红队在压缩库 Brotli 中发现无需认证的远程代码执行漏洞,Node.js 三条版本线紧急发布安全更新,随后该解码器越界写入漏洞被确认波及 Python 生态,影响持续扩大。

2026-10-21 ~ 2026-10-24 · 3 集 · 18 条

第 1 集 · Node.js 三版本线齐修 Brotli RCE 等高危漏洞(2026-10-21,10 条)

10 月 21 日,Node.js 为仍在维护的三条版本线 22.x、24.x、26.x 同步发布安全更新,版本号分别为 v22.23.4、v24.22.1、v26.12.1,共修复 4 个高危漏洞。其中最严重的 CVE-2026-111497 位于 Brotli 解码器,处理攻击者可控的 Brotli 压缩数据可导致内存泄露或远程代码执行。多位开发者建议用户立即运行 node -v 检查并升级本地环境。

已确认

  • 更新覆盖 22.x、24.x、26.x 三条维护线,对应版本 v22.23.4、v24.22.1、v26.12.1;20.x 与 25.x 已停止维护,不在此次更新范围
  • 最严重漏洞为 CVE-2026-111497:Brotli 解码器越界写入缺陷,处理攻击者传入的 Brotli 数据可导致内存泄露或任意代码执行(cramforce、mohamedmansour、svenai、jedisct1 等多条帖子均提及)
  • Aikido Security 将该漏洞披露为「Node2Shell」,指出使用内置 fetch()、body 解压等处理攻击者可控 Brotli 压缩数据的进程即可能受影响;basedjensen 称该漏洞由 OpenAI Codex Security 团队发现,并已在官方 Node.js 24.22.0 镜像上成功利用,Node 20 等旧版本不再修复
  • jedisct1 与 svenai 转述的修复清单还包括:dns.resolve 截断含 NUL 字符的名称(CVE-2026-105482)、全角数字形式书写 IP 导致 TLS 证书主机名校验被绕过等;svenai 提示共有两个可绕过 TLS 主机名检查的漏洞,应用可能因此误信不属于通信对端的服务器
  • @AIandDesign 提醒开发者运行 node -v 检查版本,低于 22.23.4 应立即升级;mohamedmansour 也强调尽快升级到三个新版本,否则面临远程代码执行风险

尚未确认

  • MickeySteamboat 等转发帖称本次更新与近期 PHP 漏洞事件直接相关;svenai 仅称补丁与 PHP 同日发布,basedjensen 也只是以「继 PHP2Shell 之后」引出 Node2Shell 命名,两者是否源于同一底层问题或同一团队仍缺乏直接证据
  • 「OpenAI Codex Security 团队发现 Node2Shell」目前仅见于 basedjensen 单一帖子的转述,未见 Node.js 官方公告或其他帖子佐证

为什么重要

Brotli 是 Node.js 中广泛使用的压缩处理组件,若应用通过内置 fetch() 等途径处理外部传入的压缩数据,攻击者可能借该漏洞实现远程代码执行,风险不限于服务器端。TLS 主机名校验绕过类漏洞则可能让应用信任错误的证书归属,威胁通信安全。三条活跃版本线同时受影响,意味着大量生产环境需尽快排查升级;已停止维护的 20.x 与 25.x 用户则面临无补丁可打的风险,需评估迁移或替代缓解方案。

第 2 集 · OpenAI 红队发现 Brotli 未认证 RCE,Node.js 等已发修复版(2026-10-23,6 条)

OpenAI 红队演练中,其 Codex Security 团队在广泛部署的压缩库 Brotli 里发现一个无需认证的远程代码执行漏洞(RCE,评级 high,多数帖子记为 CVE-2026-111497),Greg Brockman 表示团队已在推进漏洞披露与协调修复。官方已发布修复版本,相关服务应尽快升级。

已确认

  • 漏洞为未认证 RCE:攻击者只需向目标发送恶意压缩数据,即可在未打补丁的服务器或客户端上执行代码;据 @seanwbren 转述,未打补丁的服务器可能被劫持,反向利用客户端(如 curl 下载场景)也被提及
  • 波及范围:Brotli 被大量软件内置或集成,包括 Node.js、Bun、Envoy、cURL 等;Node.js 22.x/24.x/26.x 均受影响
  • 安全研究员 julianor 已用简单的 Node.js + Express 应用复现该内存损坏漏洞,其关键发现是已修补与未修补版本的解压输出不同,攻击者可据此远程探测识别哪些服务器未打补丁
  • 官方修复版本已发布:Node.js 22.23.4、24.22.1、26.12.1;@fekdaoui 称 Codex Security 用 AI 在一小时内修复了 104 个容器

尚未确认

  • 漏洞编号在不同帖子中表述不一:多数记为 CVE-2026-111497,m4 记为 CVE-2026-11149,准确编号待官方澄清

为什么重要

  • Brotli 是浏览器与服务器广泛使用的压缩格式,被大量下游软件内置,暴露面极大;且无需认证即可触发,任何接受压缩输入的服务均在攻击面上
  • 修补与未修补版本解压输出不一致这一特性,使攻击者可在实际利用前远程指纹识别目标,加大防御难度;相关服务应尽快升级到已修复版本

第 3 集 · Brotli 解码器越界写漏洞波及 Python 生态(2026-10-24,2 条)

Google Brotli 解码器被披露存在严重缓冲区越界写入漏洞,影响 1.0.3 至 1.2.0 版本。Aikido Security 指出该漏洞(CVE-2026-111497,即 node2shell)同样波及 Python 生态,可经 Brotli 解压路径实现预认证远程代码执行,受影响库月下载量超 1 亿次。GitHub 已发布 critical 级安全通告,社区还出现了 Python2Shell 等现成利用概念,PyPI 相关包面临风险。