- 恶意构造的Brotli输入可能导致崩溃、内存泄露或远程代码执行。
- Node.js在22.23.4、24.22.1和26.12.1版本中修复了该漏洞。
- Node.js于10月21日为其支持的三个版本线22.x、24.x和26.x发布安全更新,修复了10个漏洞。
Node.js于10月21日为其支持的三个版本线发布安全更新,修复了影响22.x、24.x和26.x的Brotli解码器漏洞。
能够向使用node:zlib的应用提供恶意构造Brotli数据的攻击者可能破坏进程内存。Node.js表示,这可能导致崩溃、进程内存泄露或远程代码执行,使攻击者能够在受影响系统上运行其选择的代码。
Node.js将该漏洞报告归功于OpenAI Codex Security的Khai Tran和Sylvie Mayer。The Hacker News表示,目前尚无该漏洞已在实际环境中被利用的报告。
恶意Brotli输入可越过解码器缓冲区写入
The Hacker News表示,该漏洞是由恶意构造的压缩输入触发的越界写入。当应用解压攻击者控制的Brotli数据时会暴露于风险,包括请求正文或从另一台服务器获取的响应。
Imperva在没有调试器或自定义构建的情况下,于官方Node.js 24.22.0 Linux arm64镜像上演示了代码执行。其测试并非每次尝试都成功,在该Linux arm64配置中进行了多次尝试。
Imperva在测试固定版本的Express 5.0.0至5.3.0和body-parser 2.0.0至2.3.0时,通过请求正文和响应路径均复现了代码执行。
Node.js引入上游Brotli验证修复
The Hacker News表示,Node.js通过引入上游Brotli补丁修复了该问题,该补丁会更早拒绝无效输入,使解码器在越过缓冲区写入前停止。在Node.js 24.22.1上,Imperva表示,相同数据被拒绝,且没有代码运行。
Node.js为其支持的三个版本线发布更新,并在10月21日的发布中修复了10个漏洞。该项目表示,长期支持版本线的修复版本为22.23.4和24.22.1,当前版本线的修复版本为26.12.1。
Brotli修复不只涉及Node.js
Google表示,正在Brotli 1.0.10、1.1.1和1.2.1版本中修复该漏洞。Heise online表示,该解码器问题影响所有平台上的Brotli 1.0.3至1.2.0版本。
The Hacker News表示,该漏洞于10月21日首次披露,当时Node.js和Google发布了修复。该变更已于2月27日加入Brotli源代码,但直到10月21日才有新的Brotli版本携带该修复。
Node.js表示,Node.js 20.x及更早版本已停止维护,不会收到该修复。这些版本应迁移到受支持的版本线。
该问题还影响使用Google Brotli解码器的软件。The Hacker News表示,受影响产品包括Bun、Microsoft .NET、Python Brotli软件包,以及配置为解压Brotli的Envoy代理。
防守方现在要做什么
- 将Node.js 20.x及更早版本升级到受支持的版本线。
常见问题
Node.js Brotli漏洞是什么?
Node.js表示,恶意构造的Brotli输入可能破坏进程内存,导致崩溃、进程内存泄露或远程代码执行。该漏洞影响Node.js 22.x、24.x和26.x。
Node.js Brotli漏洞是否已被利用?
The Hacker News表示,目前尚无该漏洞已在实际环境中被利用的报告。Imperva在官方Node.js 24.22.0 Linux arm64镜像上通过测试演示了代码执行。
Node.js Brotli漏洞如何运作?
The Hacker News表示,当应用解压攻击者控制的Brotli数据时会暴露于风险,例如请求正文或获取的响应。该媒体表示,恶意构造的压缩输入会触发解码器中的越界写入。
谁报告了Node.js Brotli漏洞?
Node.js将该漏洞报告归功于OpenAI Codex Security的Khai Tran和Sylvie Mayer。
来源
- Node.js, Wednesday, October 21, 2026 Security Releases, Node.js原始文件
- Node.js Brotli Decoder Bug Could Allow Remote Code Execution in All Supported Versions, The Hacker News
- Researchers Demonstrate Node2Shell RCE Exploit on Node.js Build Using Crafted Brotli Data, The Hacker News
- Brotli Decoder Flaw Behind Node.js RCE Also Affects Bun, Python and Other Widely Used Software, The Hacker News
- PHP Issues Second Windows Security Update in Five Days to Fix Brotli Code Execution Flaw, The Hacker News
- Node2Shell: Brotli Flaw Triggers Patching Across Microsoft, Node.js, Python Packages, SecurityWeek
- Brotli decoder flaw affects Bun, Python and more, not just Node.js, heise online
我们如何核实这篇报道
| 内容 | 来源 | 状态 |
|---|---|---|
| Node.js于10月21日为其支持的三个版本线22.x、24.x和26.x发布安全更新,修复了10个漏洞。 | Node.js, via The Hacker News | 引述 |
| Node.js表示,Brotli解码器漏洞可能允许远程代码执行,这意味着攻击者可以在受影响系统上运行其选择的代码。 | Node.js, via The Hacker News | 引述 |
| 修复后的Node.js版本为22.23.4、24.22.1和26.12.1。 | Node.js, via The Hacker News | 引述 |
| The Hacker News表示,当应用解压攻击者控制的Brotli数据时会触发该漏洞,包括请求正文或获取的响应。 | The Hacker News | 引述 |
| The Hacker News表示,该漏洞是由恶意构造的压缩输入触发的越界写入。 | The Hacker News | 引述 |
| The Hacker News表示,node.js通过引入上游Brotli补丁、更早拒绝无效输入来修复该漏洞。 | The Hacker News | 引述 |
| Imperva在没有调试器或自定义构建的情况下,于官方Node.js 24.22.0 Linux arm64镜像上演示了代码执行。 | Imperva, via The Hacker News | 引述 |
| Imperva表示,在修复后的Node.js 24.22.1版本上,相同数据被拒绝,且没有代码运行。 | Imperva, via The Hacker News | 引述 |
| Imperva使用指定版本的Express和body-parser,通过请求正文和响应路径均复现了代码执行。 | Imperva, via The Hacker News | 引述 |
| heise online表示,该漏洞影响所有平台上的Brotli 1.0.3至1.2.0版本。 | heise online | 引述 |
| Google表示,brotli修复已在1.0.10、1.1.1和1.2.1版本中提供。 | Google, via heise online | 引述 |
| The Hacker News表示,该漏洞还影响Bun、Microsoft .NET、Python Brotli软件包,以及配置为解压Brotli的Envoy代理。 | The Hacker News | 引述 |
| The Hacker News表示,该漏洞于10月21日首次披露,当时Node.js和Google发布了修复。 | The Hacker News | 引述 |
| The Hacker News表示,该修复于2月27日加入Brotli源代码,但直到10月21日才包含在新的Brotli版本中。 | The Hacker News | 引述 |
| The Hacker News表示,目前尚无该漏洞已在实际环境中被利用的报告。 | The Hacker News | 引述 |
| 重新构建的PHP软件包编号为8.5.12-1、8.4.27-1、8.3.36-1和8.2.35-1。 | PHP, via The Hacker News | 引述 |
| 该漏洞影响Node.js 26.x、24.x和22.x。 | Node.js | 已证实 |
| Node.js建议升级,因为恶意构造的Brotli输入可能破坏进程内存,导致崩溃、内存泄露或远程代码执行。 | Node.js | 已证实 |
| Node.js将该漏洞报告归功于OpenAI Codex Security的Khai Tran和Sylvie Mayer。 | Node.js | 已证实 |
| SecurityWeek表示,由于正在运行的进程仍保留存在漏洞的解码器,应用应更新已修复的运行时、重启服务并重新构建容器镜像。 | SecurityWeek | 引述 |
| The Hacker News表示,OpenAI Codex Security报告了该漏洞,Node.js维护者修复了该漏洞。 | The Hacker News | 引述 |
未能核实
- 所演示的漏洞利用是否适用于Node.js 22.x或26.x尚未确定。
- 该漏洞是否已在实际环境中被利用尚未确定。
- 有多少应用或系统受到影响尚未确定。
- 所有捆绑Brotli的软件是否都已发布修复尚未确定。



