ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Node.js 2026 年 6 月安全发布解析:11 个 CVE 全覆盖与 26.x/24.x/22.x 修复指南

Node.js 2026 年 6 月安全发布解析:11 个 CVE 全覆盖与 26.x/24.x/22.x 修复指南 Node.js 2026 年 6 月安全发布解析11 个 CVE 全覆盖与 26.x/24.x/22.x 修复指南【免费下载链接】nodejs.orgThe Node.js® Website项目地址: https://gitcode.com/GitHub_Trending/no/nodejs.org本篇技术指南基于 nodejs.org 官方安全公告 june-2026-security-releases.md 撰写系统梳理 Node.js 于 2026 年 6 月 18 日发布的安全更新涉及 26.x、24.x、22.x 三条仍在维护的发布线共修复 11 个 CVE含 2 个高危、5 个中危、4 个低危并同步升级 llhttp、nghttp2、openssl、undici 四个关键依赖。读完本文你将掌握每个漏洞的成因、受影响版本、修复版本对应的具体提交以及如何结合官方发布说明完成升级与验证。一、发布概要三条发布线、最高严重级别为 HIGH根据安全公告Node.js 项目于 2026 年 6 月 18 日周四发布安全版本覆盖仍在维护的 26.xCurrent、24.xLTS代号 Krypton与 22.xLTS代号 Jod三条发布线发布线修复版本角色最高严重级别26.xv26.3.1CurrentHIGH24.xv24.17.0LTSHIGH22.xv22.23.0LTSHIGH三条发布线中绝大多数 CVE 均影响全部受支持版本仅个别 CVE 影响范围不同详见下文各漏洞说明。公告特别强调每当发生安全发布时End-of-LifeEOL版本始终受影响。因此确保系统使用最新版本至关重要具体维护时间表可参照官方 Release Schedule发布于 Node.js release 仓库。二、依赖更新清单四个底层组件同步升级本次安全发布同时更新了四个直接参与网络、加密与解析链路的底层依赖以修复其中已公开的漏洞llhttp 9.4.2应用于所有发布线。llhttp 是 Node.js 内置的 HTTP 解析器C 语言实现负责解析入站 HTTP 请求与出站响应其解析逻辑的缺陷可能引发请求走私或内存安全问题。nghttp2 1.69.0应用于所有发布线。nghttp2 是 HTTP/2 协议栈本次升级在 22.x 与 24.x 中被标记为SEMVER-MAJOR并与 CVE-2026-48937GOAWAY 后会话未清理的修复提交一同落地。openssl 3.5.7应用于所有发布线。OpenSSL 提供 TLS、加密哈希与证书校验能力升级覆盖了架构文件与源码archs files openssl sources并附带一个 AIX 平台隐式声明修复。undici按版本分线升级undici 是 Node.js 内置的 HTTP 客户端实现26.3.1 升级到undici 8.5.024.17.0 升级到undici 7.28.022.23.0 升级到undici 6.27.0也就是说修复版本号因发布线而异升级时务必以对应发布说明中列出的 undici 版本为准不可跨线套用。三、高危漏洞详解2 个1. CVE-2026-48933WebCrypto AES 整数溢出导致远程进程中止DoS严重级别HIGH影响范围Node.js 22 / 24 / 26全部支持线漏洞机理Node.js WebCrypto 实现存在整数溢出缺陷。当subtle.encrypt()的输入长度是2GiB 的整数倍时内部对输出缓冲区长度的计算会发生溢出进而导致进程崩溃Remote Process Abort。修复思路从发布说明的提交信息看修复方式为 guard WebCrypto cipher output lengthv26.3.1 发布说明即对 WebCrypto 密文输出长度增加保护性校验阻止超长输入触发溢出路径。致谢由 erichen 报告Filip Skokancrypto 模块维护者修复。2. CVE-2026-48618unicode 点分隔符处理导致 TLS 通配符深度认证绕过严重级别HIGH影响范围Node.js 22 / 24 / 26全部支持线漏洞机理Node.js TLS 主机名校验在“解析器resolver”与“验证器verifier”之间对主机名的归一化normalization不一致。Unicode 点分隔符如 U3002、UFF0E 等全角/竖排句点在某些路径中被解析为域名分隔符、在另一些路径中则被当作普通字符导致 TLS 通配符wildcard深度校验被绕过可造成机密性影响或突破既定安全边界。修复思路提交 tls: normalize hostname for server identity checks即在服务端身份校验前统一主机名归一化规则。致谢由 tmeletlidis 报告Matteo Collina 修复。四、中危漏洞详解5 个3. CVE-2026-48615代理凭据泄露进 ERR_PROXY_TUNNEL 错误消息严重级别MEDIUM影响范围Node.js 22 / 24 / 26全部支持线漏洞机理当代理 URL 中内嵌用户名密码如http://user:passproxy:8080时代理隧道CONNECT失败产生的ERR_PROXY_TUNNEL错误消息可能携带这些凭据进而被日志、诊断工具或其他错误消费方捕获泄露。修复思路提交 lib,test: redact proxy credentials in tunnel errors在构造隧道错误时对凭据做脱敏处理。致谢由 nssys 报告Matteo Collina 修复。4. CVE-2026-48619node:http2 客户端因攻击者控制的 ORIGIN 帧无界内存增长严重级别MEDIUM影响范围Node.js 22 / 24 / 26全部支持线漏洞机理HTTP/2 客户端允许服务端发送无限数量的 ORIGIN 帧用于声明备选来源导致客户端内存无界增长直至 Out of Memory。修复思路提交 http2: cap originSet size to prevent unbounded memory growth即对originSet容量设置上限。致谢由 kingsd 报告Matteo Collina 修复。5. CVE-2026-48937HTTP/2 会话在无效协议错误后未清理GOAWAY 后继续接收数据严重级别MEDIUM影响范围仅 Node.js 22 与 24注意26.x 不受影响漏洞机理HTTP/2 服务器 API 在发送GOAWAY帧后仍持续接受数据会话生命周期管理存在缺陷可能与 nghttp2 升级引入的协议错误处理路径有关。修复思路提交 deps: fix integration issues with the latest nghttp2随 nghttp2 1.69.0SEMVER-MAJOR一同发布。致谢由 Tim Perry 报告并修复。6. CVE-2026-48928大写 SNI 上下文匹配导致 mTLS 授权绕过严重级别MEDIUM影响范围Node.js 22 / 24 / 26全部支持线漏洞机理主机名匹配存在大小写不一致性在多上下文multi-contextmTLS 部署中可造成信任策略绕过——即本应区分不同 SNI 上下文大小写不同的场景被错误地当作同一上下文处理。修复思路提交 tls: fix case-sensitive SNI context matching修正 SNI 上下文的区分逻辑。致谢由 tmeletlidis 报告Matteo Collina 修复。7. CVE-2026-48930内嵌 NUL 字节主机名导致静默权威重绑定严重级别MEDIUM影响范围Node.js 22 / 24 / 26全部支持线漏洞机理解析器绑定resolver bindings使用 C 字符串处理主机名遇到内嵌\0NUL字节时会被截断。攻击者可利用截断差异构造主机名实现“静默权威重绑定”silent authority rebinding绕过预期的 TLS 主机名校验。修复思路提交 dns,net: reject hostnames with embedded NUL bytes在 dns 与 net 层直接拒绝包含内嵌 NUL 字节的主机名。致谢由 tmeletlidis 报告Matteo Collina 修复。8. CVE-2026-48934不同 servername 复用 TLS 会话导致主机身份验证绕过严重级别MEDIUM影响范围Node.js 22 / 24 / 26全部支持线漏洞机理TLS 会话复用session reuse场景下若客户端以不同的 servername 复用既有会话Node.js 可能跳过证书校验导致未授权连接获得通过。修复思路提交 tls: bind reusable sessions to authenticated host将会话与已认证的主机绑定防止跨主机名复用同时新增 session reuse host verification regressions 回归测试。致谢由 3d7omb 报告Matteo Collina 修复。五、低危漏洞详解4 个9. CVE-2026-48617Permission Model 因 process.report.writeReport() 路径误校验被绕过严重级别LOW影响范围Node.js 22 / 24 / 26全部支持线漏洞机理权限模型Permission Model通过--permission启动对process.report.writeReport()写入路径的校验存在缺陷可绕过既定文件权限边界造成机密性影响。修复思路提交 permission: handle process.chdir on writereport补上了写报告路径解析时对process.chdir的处理。致谢由 suul 报告RafaelGSS 修复。10. CVE-2026-48935Permission Model 经 FileHandle.utimes()promises API被绕过严重级别LOW影响范围Node.js 22 / 24 / 26全部支持线漏洞机理即使在--allow-fs-read只读限制下攻击者仍可通过 promises API 的FileHandle.utimes()修改文件元数据mtime/atime说明权限模型未覆盖该调用路径。修复思路提交 permission: disable FileHandle utimes with permission model在权限模型启用时禁用该操作。致谢由 muhammaddaffa 报告RafaelGSS 修复。11. CVE-2026-48936Unix 域套接字服务器绕过 --permission 网络限制CVE-2026-21636 修复不完整严重级别LOW影响范围仅 Node.js 26漏洞机理即使未授予--allow-net权限攻击者仍可通过 Unix 域套接字Unix domain socket启动本地服务器。这是此前 CVE-2026-21636 修复的不完整修复incomplete fix说明权限模型的网络作用域校验在 pipe/套接字路径上仍有缺口。修复思路提交 permission: guard pipe open and chmod with net scope为 pipe 打开与 chmod 操作补上 net 作用域检查。致谢由 Vitaly Simonovich 报告RafaelGSS 修复。12. CVE-2026-48931http.Agent 的 TOCTOU 竞态导致 HTTP 响应队列投毒严重级别LOW影响范围Node.js 22 / 24 / 26全部支持线漏洞机理http.Agent存在检查-使用竞态TOCTOU Race Condition客户端可能在尚未发送请求之前就接受了先到的响应造成响应队列投毒Response Queue Poisoning。修复思路提交 http: fix response queue poisoning in http.Agent修正请求与响应的配对时序校验。致谢由 yushengchen 报告Matteo Collina 修复。六、版本级修复对照三个发布说明中的 Notable Changes官方发布说明文件仓库路径见下是验证修复落地情况的一手依据。三个版本的安全修复提交高度一致可通过各发布说明的Notable Changes与Commits小节逐条核对v26.3.1Current发布说明覆盖全部 11 个 CVE 修复提交undici 升级至 8.5.0。v24.17.0Krypton LTS发布说明覆盖除 CVE-2026-48936仅影响 26.x外的全部修复undici 升级至 7.28.0nghttp2 以 SEMVER-MAJOR 升级至 1.69.0。v22.23.0Jod LTS发布说明与 24.x 修复集一致undici 升级至 6.27.0nghttp2 同以 SEMVER-MAJOR 升级至 1.69.0。各发布说明末尾还附有完整的分平台产物清单Windows/macOS/Linux/AIX/ARM 安装包与二进制及 PGP 签名的 SHASUMS 校验块用于下载后的完整性校验。七、升级建议与安全运维要点结合公告与发布说明建议按以下流程处置确认受影响版本检查运行环境node -v凡处于 22.x22.23.0、24.x24.17.0、26.x26.3.1的版本均需升级。优先升级 EOL 版本环境公告明确指出 EOL 版本在任何安全发布中“始终受影响”无法获得修复唯一出路是升级到仍受支持的发布线维护周期以官方 Release Schedule 为准。升级后验证依赖版本执行npm ls undici或检查process.versions相关字段确认 undici 已到位——22.23.0 对应 6.27.0、24.17.0 对应 7.28.0、26.3.1 对应 8.5.0。关注重点配置场景本次修复集中的高风险面包括——TLS/SNI 多证书多上下文服务CVE-2026-48618、48928、48934、48930、WebCrypto 处理大块数据CVE-2026-48933、HTTP/2 服务端与会话复用CVE-2026-48937、48619、以及启用--permission的隔离环境CVE-2026-48617、48935、48936。生产环境若涉及上述场景应优先安排升级窗口。八、在 nodejs.org 仓库中的安全公告呈现机制本仓库nodejs.orgNode.js 官网源码将安全公告作为博客的一个独立分类维护。从源码结构看相关支撑包括公告文档本体存放于 apps/site/pages/en/blog/vulnerability/ 目录按yyyy-mm-主题.md命名frontmatter 中category: vulnerability标记分类slug决定 URL 路径本公告 slug 为june-2026-security-releases。漏洞数据生成器next-data/generators/vulnerabilities.mjs 从 Node.js Security Working Group 仓库拉取漏洞原始数据通过V0_REGEX、VER_REGEX如12.x与RANGE_REGEX如 20解析vulnerable版本表达式将漏洞按主版本号分组供 EOL 页面等渲染使用。漏洞表格渲染EOL/VulnerabilitiesTable.tsx 负责把分组后的漏洞数据渲染为表格逐行展示 CVE 编号、严重级别徽章、描述与官方公告链接严重级别由 VulnerabilityChip 组件可视化呈现。RSS 订阅vulnerability 分类可独立订阅为vulnerability.xmlfeed见 BlogHeader 测试用例便于运维人员第一时间跟踪新公告。也就是说本文所分析的 2026 年 6 月安全公告正是这条“安全工作组数据 → 生成器分组 → EOL 表格 → 博客公告”链路中的一环读者既可通过博客页面阅读公告全文也可在 EOL 页面按版本查看历史漏洞的修复状态。若需报告新漏洞可遵循官方 SECURITY.md 流程并订阅低流量的 nodejs-sec 公告邮件列表以持续获取安全发布动态。【免费下载链接】nodejs.orgThe Node.js® Website项目地址: https://gitcode.com/GitHub_Trending/no/nodejs.org创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表