KnowSafe 安全预警:KnowSafe 安全团队监测到编号 AVD-2026-111497 的安全漏洞(危害等级:高危)已公开披露,相关用户应尽快排查并完成修复。
漏洞介绍
Node.js 是一款广泛使用的开源服务器端 JavaScript 运行时,大量网站与后端服务基于其构建,其内置 zlib 模块静态集成了 Brotli 压缩算法的 C 语言解码器。2026年10月21日,Node.js 官方发布安全更新,披露该 Brotli 解码器存在越界写漏洞。解码器处理块类型切换时未正确传播校验失败:当数据流声明的块类型数量为 1(此时格式规定不存在块类型切换树)却又发出块切换命令时,失败结果被上层三个返回类型为 void 的封装函数丢弃,解码器携带未被有效赋值的块类型与不一致的块状态继续解码,越界索引被用于访问 Huffman 表与上下文映射,造成堆内存越界写。未经身份验证的远程攻击者可投递特制的 Brotli 数据流触发该漏洞,导致内存破坏并可能以 Node.js 进程权限执行任意代码,造成服务器失陷。成功利用要求宿主应用将不可信数据交由该解码器处理,主要路径为内置 fetch() 自动解压 HTTPS 响应体,以及 body-parser 2.1.0 及以上版本与 @fastify/compress 在鉴权前解压 br 请求体;利用可靠性依赖于运行时版本、构建形态与内存分配器布局,截至披露时未见公开利用代码与在野利用报告。受影响版本:22.23.4、24.22.1、26.12.1 之前的所有 22.x/24.x/26.x 版本(官方补丁仅覆盖这三条受支持分支,已停止维护的 18.x、20.x、25.x 等版本线不会获得修复)。
影响范围
应用:7-zip p7zip(影响面 Up to (including) 16.02)
应用:andybalholm brotli(影响面 Up to (excluding) 1.2.7)
应用:anthropic bun(影响面 Up to (excluding) 1.4.4)
应用:apache arrow(影响面 Up to (including) 26.0.0)
应用:apache arrow(版本 27.0.0)
应用:clickhouse clickhouse(影响面 Up to (including) 26.10.2.103)
应用:duckdb duckdb(影响面 Up to (including) 2.0.0)
应用:envoyproxy envoy(影响面 Up to (excluding) 1.37.8)
……另有 23 项受影响环境,详见官方公告
解决方案
针对 Node.js 21.x 及更早版本(含 18.x、20.x)以及 23.x、25.x 等非 LTS 版本:
Node.js 官方已停止支持,不会获得本次安全更新,需迁移至受支持的版本线;部分发行版和长期支持(LTS)服务商可能提供安全补丁,请联系供应商确认修复情况。
针对受支持的版本线,Node.js 官方已发布安全更新版本,具体如下:
Node.js < 22.23.4(22.x 分支),升级至 22.23.4 或该分支更新版本。
Node.js < 24.22.1(24.x 分支),升级至 24.22.1 或该分支更新版本。
Node.js < 26.12.1(26.x 分支),升级至 26.12.1 或该分支更新版本。
升级后须重启全部 Node.js 进程;以单文件可执行程序、启动快照、内嵌运行时或固定标签容器镜像打包的副本不随宿主升级而更新,需重新构建。使用动态链接系统 Brotli 库的发行版打包版本时,须同时将系统 brotli 升级至 v1.2.1、v1.1.1 或 v1.0.10 及以上,仅升级 Node.js 不生效。
参考信息
http://www.openwall.com/lists/oss-security/2026/10/23/25
http://www.openwall.com/lists/oss-security/2026/10/24/6
http://www.openwall.com/lists/oss-security/2026/10/26/12
http://www.openwall.com/lists/oss-security/2026/10/26/13
http://www.openwall.com/lists/oss-security/2026/10/26/16
KnowSafe 将持续跟踪该漏洞的利用情况与修复进展,如需漏洞管理与应急响应支持,欢迎联系 KnowSafe 安全团队。