Node.js 修复4个高危漏洞 涉22.x及以上版本

素材来源=无可用官方素材 标题去空格=25字符 事件日=10月21日

10 月 21 日,Node.js 针对 26.x、24.x、22.x 三条版本线发布安全更新,修复 10 余个漏洞,其中 4 个被定为高危。公告同步在 Node.js 博客(https://nodejs.org/zh-cn/blog)发出,漏洞经 HackerOne 提交,处理流程见官方安全策略页 https://nodejs.org/zh-cn/about/security-reporting。

三个已点名的高危漏洞

  • CVE-2026-105482:dns.resolve 解析含 NUL 字符的域名时会截断,影响 26.x、24.x、22.x。
  • CVE-2026-105483:IP 地址写成全角数字时,可绕过 TLS 证书的主机名验证,影响 26.x、24.x。
  • CVE-2026-106069:主机名在宽松解析下能被解析成 IP 地址时,同样可绕过 TLS 证书的主机名验证,影响 26.x、24.x、22.x。

三条里两条落在 TLS 主机名校验上,触发条件都是地址被写成了非标准形式。按公告描述,攻击者不需要持有合法证书,只要让校验环节把不是 IP 的主机名当成 IP 去比对,证书校验就失效了。这一句是分析,公告本身只描述了触发条件。

影响范围与两家的计数差异

  1. x、24.x、22.x 三条线都在名单内,CVE-2026-105483 只波及 26.x 和 24.x。台湾 iThome 10 月 21 日的报道(https://www.ithome.com.tw/news/174705)称本次修补 9 个漏洞,并提到部分问题可能导致服务中断与程序当机;IT之家给出的口径是「10 余个、含 4 个高危」。两家数字对不上,具体条目数以官方公告为准。

哪些服务该今晚就查

会主动往外出网的组件都在影响范围内:自建 DNS 解析、HTTP 代理客户端、webhook 回调、抓取类任务,只要跑在受影响版本线上就包含在内。纯静态渲染、不发起外部请求的服务,风险面小得多,但不建议因此跳过补丁。

升级怎么走

  1. node -v 先确认自己停在哪条线上,22.x、24.x、26.x 各有对应的补丁版。
  2. 用 nvm 的可以直接 nvm install 22 --reinstall-packages-from=22,把 22 换成实际主线,装完再 nvm alias default 22 固定下来。
  3. 容器部署的重新构建镜像,别只改本地 node_modules,基础镜像里的 node 二进制才是真正要换的东西。
  4. 工程里写死小版本号的地方一并改掉:.nvmrc、.tool-versions、Dockerfile 里的 FROM node:24.0.0 这类写法,漏一处就等于没升。

最后

补丁版本一般不调整公开 API,升级的实际成本落在重新构建和回归测试上。跑在 22.x 及以上版本线、并且对外发起请求的服务,这周内排一次升级比较稳妥。

发布评论
全部评论(0)