Node.js 为 26.x、24.x、22.x 三个分支同时放出安全更新,一口气处理 10 个漏洞,其中 4 个被列为高危。补丁版本分别是 26.12.1、24.22.1、22.23.4,发布日程定在 2026 年 10 月 21 日。三个受支持分支里,高危就是本次的最高风险等级。
![]()
最严重的后果来自 Brotli 解码器。CVE-2026-111497 影响全部三个发布线,问题是一处越界写(out-of-bounds write),可被用来实现远程代码执行。说白了,解码器会往预期内存区域之外写数据。处理不受信任 Brotli 压缩内容的应用,在排补丁计划时得格外上心。
另外两个高危都出在 TLS 证书主机名校验上,指向同一个问题:证书到底有没有正确匹配它该去的目标。
- CVE-2026-105483:当 IP 地址使用全角数字时,主机名校验可被绕过,影响 26.x 与 24.x。
- CVE-2026-106069:涉及松散解析到某个 IP 地址的主机名,三个分支全部受影响。
第四个高危是 CVE-2026-105482,dns.resolve 会截断含 NUL 字符的域名,三个发布线都在范围内。对依赖一致域名处理、再执行 DNS 查询的应用来说,这个缺陷值得警惕。这批修复也接在此前 Node.js 的 TLS 认证绕过补丁之后,那些补丁处理的同样是主机名处理与证书校验上的差异。
三个中危把这次更新的覆盖面拉得更宽,且全部影响 26.x、24.x、22.x:
- CVE-2026-105481:keep-alive 套接字可以处理一个在请求发出之前就写好的响应。
- CVE-2026-106072:非标准 IPv4 主机名的证书校验不当,使 DNS 证书名能够认证 IP 端点。
- CVE-2026-106074:影响存放在启动快照与单可执行应用中的缓存随机数据,由这些产物创建的进程会重复返回 crypto.randomUUID() 与 crypto.randomInt() 的值。
剩下的问题评级为低。CVE-2026-106070 涉及 ZIP 头校验失败后返回攻击者可控的字节;CVE-2026-106071 可通过通配符匹配授予过度的文件系统访问权限——这两个只影响 26.x。CVE-2026-106073 则借 fs.realpathSync 绕过 Permission Model 检查,三个分支都中招。此前 Node.js Permission Model 的漏洞,暴露的也是文件系统限制上的缺口。
发布说明里还列了 c-ares、CA 证书、Undici、OpenSSL 与 SQLite 的更新,各组件覆盖的分支不尽相同。
落到操作层面,管理员该做的是:部署对应的补丁版本,需要时重建应用镜像,重启受影响的服务。测试重点覆盖出站 HTTPS 连接、DNS 处理、压缩内容,以及受权限限制的工作负载。团队应查阅 Node.js 官方安全公告,避开不再支持的版本——项目方明确提醒,即使发了安全版本,已结束生命周期的分支依然受影响,迁移到受支持分支是修复工作的一部分。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.