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 字段,实际部署的运行时版本才是真的。
本文由奇幻维度内容助手整理发布,欢迎在评论区交流你的看法。