Node.js 又发安全更新了,这次不是小修小补。官方针对 6.x、24.x 和 22.x 系列版本发布补丁,修复 10 余个安全漏洞,其中 4 个被标为高危。
对一线开发和运维来说,这类更新最怕的不是"要不要升",而是"不升会怎样"。这次高危项里,有一个直接指向远程代码执行。
四个高危漏洞,逐个看
- dns.resolve 会截断包含 NUL 字符的域名(CVE-2026-105482),影响 26.x、24.x 和 22.x。
- IP 地址用全角数字表示时,可绕过 TLS 证书主机名验证(CVE-2026-105483),影响 26.x 和 24.x。
- 主机名通过宽松解析可被解析为 IP 地址时,可绕过 TLS 证书主机名验证(CVE-2026-106069),影响 26.x、24.x 和 22.x。
- Brotli 解码器存在越界写入漏洞,可导致远程代码执行(CVE-2026-111497),影响 26.x、24.x 和 22.x。
四个高危里有两个落在 TLS 证书主机名验证上,路径不同,结果一样:本该被拦下的连接可能被放行。证书验证是 HTTPS 的地基,这类绕过一旦被利用,中间人攻击的门槛会被拉低。
Brotli 解码器那个更直接。越界写入加上远程代码执行,意味着攻击面不在业务逻辑层,而在运行时本身。只要服务端启用了 Brotli 压缩,就值得优先排查。
中危和低危也不能略过
中危项里,crypto.randomUUID() 和 randomInt() 的熵缓存被保存到用户态启动快照和 SEA 中,导致每个进程重复生成相同的值(CVE-2026-106074),影响 26.x、24.x 和 22.x。随机数重复,对依赖它生成 ID、令牌的场景是实打实的风险。
其余中危还包括:Keep-alive 套接字会处理在请求发送前就已写入的响应(CVE-2026-105481);对非规范 IPv4 主机名的证书验证不正确,导致 DNS SAN 可用于验证 IP 端点(CVE-2026-106072)。
低危三项集中在 26.x:ZipFile 在 ZIP 文件头验证失败后仍会返回由攻击者控制的前缀字节(CVE-2026-106070);权限模型通过通配符基数查找机制授予过多文件系统权限(CVE-2026-106071);可通过 fs.realpathSync 绕过权限模型(CVE-2026-106073)。
版本覆盖面值得注意:多数漏洞同时影响 26.x、24.x 和 22.x,个别只影响 26.x 或 26.x 与 24.x。也就是说,只盯着最新大版本不够,老版本同样在影响范围内。
这次更新没有留下"观察一阵再说"的空间。高危项里有远程代码执行,有证书验证绕过,都是能直接转化为攻击路径的类型。跑着 Node.js 的服务,按官方给出的版本线对照升级,是当下最省事的处理方式。
热门跟贴