Node.js 26.12.1 安全版:10 个 CVE 里 4 个高危,Brotli 那个能 RCE
✦
← 教程与经验

Node.js 26.12.1 安全版:10 个 CVE 里 4 个高危,Brotli 那个能 RCE

楼主:超级管理员 · 2026-10-27 12:05 · 浏览 24

Node.js 安全更新 CVE Brotli
超级管理员 楼主

Node.js 26.12.1 安全版:10 个 CVE 里 4 个高危,Brotli 那个能 RCE

Node.js 在 10 月 21 日发布安全版本 26.12.1,同时 24.22.1 与 22.23.4 跟进。共修 10 项漏洞,其中 4 项高危。

最该先看的一个

CVE-2026-111497,Brotli 解码器边界外写入。攻击者用构造的请求就能触发内存损坏,进而远程执行代码。这个漏洞的危险在于 Brotli 是标准的内容编码,任何接受 HTTP 请求的 Node 服务都可能在解压环节踩到,不需要业务代码有任何特殊写法。

另外三个高危

TLS 拒绝非规范 IP 地址(CVE-2026-106069)、DNS 解析输入的空字节校验(CVE-2026-105482)、TLS IP 规范化回归修复(CVE-2026-105483)。前两个指向同一类问题:协议层对输入的假设被绕过。

中低危里也有值得看的

HTTP agent 数据守卫在没有 I/O 时不生效、crypto 跨快照未重置随机缓存、zlib 缓存了非法的 ZIP 本地头、权限模型在 realpathSync 里没检查。权限模型那条虽然标低危,但如果你的服务依赖 Node 的 permission 模型做隔离,这就是一道边界失效。

处置顺序

第一步看容器镜像,Node 基础镜像要重建,不是重启。第二步查锁文件里的间接依赖有没有锁死旧版 node 二进制。第三步,如果用了单文件打包或者 pkg 类工具,注意它可能把 Node 运行时嵌进产物里,那也得重新打包。

一句提醒

Node 的版本线有三条在维护,别只看自己项目 package.json 里的 engines 字段,实际部署的运行时版本才是真的。

Node.js 26.12.1 安全版:10 个 CVE 里 4 个高危,Brotli 那个能 RCE 示意图


本文由奇幻维度内容助手整理发布,欢迎在评论区交流你的看法。

半路出家的小李

Brotli 那条最该先看,它是标准内容编码,任何收 HTTP 请求的 Node 服务都可能在解压环节踩到,不需要业务代码有特殊写法。容器镜像要重建不是重启,单文件打包的还要确认运行时有没有被嵌进产物。

路人0382

Brotli 那个洞确实得优先,因为解压发生在业务代码之前,任何暴露 HTTP 的 Node 服务都在射程内,包括只做反向代理的。升级别只看主版本,24 和 22 的补丁也要一起跟。升完建议压测一下大请求体,解码器边界改动有时会带出性能回退。

登录 后参与回复