日志日期 · 周三
Node.js 2026 年 7 月安全发布:11 个 CVE,含权限模型越权
Node.js 为 26.x、24.x、22.x 发布安全更新,修复 11 个 CVE,其中权限模型路径匹配问题为高危。
当天发生了什么
2026-07-29,Node.js 发布 v26.5.1、v24.18.1 和 v22.23.2 三个安全版本(原定 7 月 28 日,后推迟一天),共修复 11 个 CVE,并更新了 undici 与 llhttp。其中三个高危问题包括两个 HTTP/2 问题,以及 CVE-2026-58043:权限模型的路径匹配会跨越前缀边界过度授予文件系统访问,使启用 --permission 时可以在允许列表之外读写。另有两个低危权限模型问题,涉及 trace events 和 process.report 在 --allow-fs-write 范围之外写文件;其余包括 HTTPS Agent 的 mTLS 身份与 TLS 会话复用、node:sqlite、DNS、zlib 和 HTTP 解析相关问题。
对桌面与 Node 打包应用的含义
对把 Node 运行时随产品分发的团队(单可执行应用、自带运行时的桌面客户端或本地服务)来说,这次发布有两点值得注意。第一,权限模型是减小进程可访问范围的纵深防御机制,这次多个越权问题说明它的边界本身也会出错,不应把它当作唯一的隔离手段。第二,它限制的是代码能访问什么,而不是保护代码本身不被阅读或修改;随包分发的 JavaScript 无论是否启用权限模型都可以被检查。与此同时,随产品分发的运行时需要由你自己负责升级,用户机器上的旧版本不会自动获得这些修复。
可以做的检查
第一,确认产品中实际打包的 Node 版本或其所基于的 Node 版本线,对照公告判断是否受影响,并安排带新运行时的更新。第二,如果使用 --permission 或 --allow-fs-write,升级后重新测试允许列表的边界,尤其是共享前缀的目录名。第三,梳理应用对外的 HTTP/2、mTLS 和 DNS 使用情况,评估相应问题的暴露面,并把运行时版本纳入发布前检查清单和软件物料清单。
行动清单
- 确认产品打包的 Node 版本并安排升级
- 升级后复测 --permission 允许列表边界
- 把运行时版本纳入发布检查与 SBOM
原始资料
- Node.js: Wednesday, July 29, 2026 Security Releases · 资料日期 2026-07-29 · 核对于 2026-10-12
- GitHub: nodejs/node release v24.18.1 · 资料日期 2026-07-29 · 核对于 2026-10-12