Node.js v24.17.0(Krypton)LTS 安全发布深度解析:11 个 CVE 修复与依赖升级全指南
Node.js v24.17.0KryptonLTS 安全发布深度解析11 个 CVE 修复与依赖升级全指南【免费下载链接】nodejs.orgThe Node.js® Website项目地址: https://gitcode.com/GitHub_Trending/no/nodejs.org2026 年 6 月 18 日Node.js 官方发布了 24.x 发布线的安全版本v24.17.0代号 KryptonLTS由 Antoine du Hameladuh95主持发布。本版本一次性修复了 11 个安全漏洞含 2 个高危、6 个中危、3 个低危并同步升级了 llhttp、nghttp2、OpenSSL 与 undici 四个关键依赖。本文以 nodejs.org 仓库中的官方发布说明 v24.17.0.md 为主线结合 2026 年 6 月安全发布公告 逐条解读漏洞成因、影响范围与修复方式并给出完整的下载校验与升级指南帮助运维与开发人员快速评估风险并完成安全升级。一、发布概述这是一次纯安全发布v24.17.0 是一次security release安全发布即该版本不包含新特性feature全部变更均围绕漏洞修复与依赖升级展开。发布头信息如下发布日期2026-06-18UTC发布线24.xLTS代号 Krypton发布类型LTS 安全发布发布人Antoine du Hameladuh95文档分类category: release博客布局layout: blog-post在 nodejs.org 网站的发布数据模型中24.x 作为活跃 LTS 发布线其状态由 releaseData.mjs 中的getNodeReleaseStatus逻辑判定当最新版本的latest.lts.isLts为真且未到 EOL 日期时状态即为LTS。受影响范围本次安全发布同时覆盖 22.x、24.x、26.x 三条受支持发布线对应 v22.23.0、v24.17.0、v26.3.1。其中 v24.17.0 修复的最高严重级别为HIGH。需要特别注意的是所有已经 EOLEnd-of-Life的版本在安全发布发生时都视为受影响官方强烈建议使用受支持且最新的版本。二、依赖升级四条关键依赖链同步更新v24.17.0 同步引入了以下依赖更新用于修复公开披露的漏洞及集成问题依赖版本说明llhttp9.4.2HTTP 解析器全发布线更新nghttp21.69.0HTTP/2 协议实现全发布线更新OpenSSL3.5.7TLS/加密底层库全发布线更新undici7.28.0内置 HTTP 客户端fetch/WebSocket底层其中 OpenSSL 的升级涉及 archs 文件与源码的同步更新并修复了 AIX 平台上的隐式声明问题见提交3a631e7f83。nghttp2 升级到 1.69.0 属于SEMVER-MAJOR变更提交66e6203c1c但通过后续集成修复提交a8a0d12875对应 CVE-2026-48937保证了兼容性。提示undici 在不同发布线中升级到不同版本26.3.1 对应 8.5.024.17.0 对应 7.28.022.23.0 对应 6.27.0升级时请以各自发布线的实际版本为准。三、高危漏洞详解HIGH2 项3.1 CVE-2026-48618TLS 服务器身份校验的主机名归一化缺失组件tls严重级别High修复提交8e75c73f91漏洞描述Node.js 的 TLS 主机名处理存在缺陷Unicode 点分隔符如、。等全角/异体分隔符在解析器与校验器之间的主机名归一化不一致可能导致TLS 通配符深度认证绕过。在特定配置下攻击者可绕过预期的安全边界造成机密性影响。影响范围Node.js 22、24、26 全部受支持发布线。修复思路在服务器身份校验前对主机名做统一归一化normalize hostname确保解析阶段与验证阶段看到的字符序列一致。3.2 CVE-2026-48933WebCrypto 密文输出长度整数溢出远程进程中止 DoS组件cryptoWebCrypto严重级别High修复提交9e4dfc7bba漏洞描述当subtle.encrypt()的输入大小为2GiB 的整数倍时WebCrypto 实现存在整数溢出缺陷可直接导致进程崩溃Remote Process Abort构成拒绝服务DoS攻击。影响范围Node.js 22、24、26 全部受支持发布线。修复思路对 WebCrypto 密文输出长度增加防护校验guard cipher output length在加密路径中拦截超界长度计算。四、中危漏洞详解MEDIUM6 项4.1 CVE-2026-48615代理凭据在隧道错误中泄露组件lib代理隧道错误处理修复提交9224427b92漏洞描述当代理凭据以user:password形式嵌入代理 URL 时ERR_PROXY_TUNNEL错误消息可能包含明文凭据进而被日志、诊断系统或其他错误消费者捕获造成敏感信息泄露。修复思路在隧道错误输出中对代理凭据做脱敏redact错误消息中不再暴露认证信息。4.2 CVE-2026-48619HTTP/2 客户端 ORIGIN 帧导致内存无界增长组件http2修复提交cc7c11b4d1漏洞描述恶意服务器可向node:http2客户端发送不限数量的 ORIGIN 帧导致客户端内存无界增长最终触发 Out of MemoryOOM。修复思路对originSetORIGIN 帧收集的源集合设置大小上限cap originSet size限制单个连接可承载的 ORIGIN 帧数量。4.3 CVE-2026-48928SNI 上下文匹配大小写敏感导致 mTLS 授权绕过组件tls修复提交31beb4f707漏洞描述SNIServer Name Indication上下文匹配存在大小写敏感性不一致问题。在多上下文 mTLS双向 TLS场景中攻击者可通过大小写变体主机名绕过信任策略造成授权绕过。修复思路统一 SNI 上下文的匹配逻辑修复大小写敏感匹配case-sensitive SNI context matching。4.4 CVE-2026-48930内嵌 NUL 字节的主机名可导致权威重绑定组件dns、net修复提交138c70294b漏洞描述解析器绑定层使用 C 字符串处理主机名时遇到内嵌 NUL\0字节会发生截断。攻击者利用这一点可造成silent authority rebinding静默权威重绑定绕过主机名校验。修复思路在dns/net层直接拒绝包含内嵌 NUL 字节的主机名reject hostnames with embedded NUL bytes。4.5 CVE-2026-48934可复用 TLS 会话未绑定认证主机组件tls修复提交a77af4867b配套测试提交e3723ff2d6漏洞描述TLS 会话复用session reuse时会话未被绑定到实际完成认证的主机名servername。攻击者可利用会话复用绕过证书校验建立未授权连接。修复思路将可复用会话reusable sessions绑定到已认证主机bind to authenticated host并新增会话复用主机验证的回归测试。4.6 CVE-2026-48937nghttp2 集成缺陷导致 GOAWAY 后仍接收数据组件depsnghttp2修复提交a8a0d12875漏洞描述服务器在发送GOAWAY帧后仍持续接受数据HTTP/2 会话在无效协议错误后无法正确清理可能被用于资源耗尽攻击。影响范围Node.js 22 与 24注意此漏洞不影响 26.x。修复思路修复与最新 nghttp21.69.0的集成问题确保GOAWAY后会话正确终止与清理。五、低危漏洞详解LOW3 项5.1 CVE-2026-48617process.report.writeReport()路径误校验绕过权限模型组件permission修复提交a1bbc24f96漏洞描述权限模型Permission Model对process.report.writeReport()的路径校验存在缺陷攻击者可利用路径误校验绕过预期安全边界。修复思路处理process.chdir与writereport的交互场景修正路径校验逻辑。5.2 CVE-2026-48931http.Agent响应队列投毒TOCTOU 竞态组件http修复提交be7e719c3f漏洞描述http.Agent存在 TOCTOU检查时间到使用时间竞态条件客户端可能在发送请求之前就接受来自服务器的响应形成响应队列投毒response queue poisoning。修复思路修复http.Agent中的响应队列处理竞态确保响应仅在请求发出后才会被接受。5.3 CVE-2026-48935FileHandle.utimes()绕过只读权限组件permissionpromises API修复提交cf85d54839漏洞描述即便通过--allow-fs-read将路径设置为只读攻击者仍可通过 promises API 的FileHandle.utimes()修改文件元数据如访问/修改时间。修复思路在权限模型下禁用FileHandle的utimes操作disable FileHandle utimes with permission model。补充说明与本次安全发布同期披露的 CVE-2026-48936Unix domain socket 绕过--allow-net网络限制属 CVE-2026-21636 的未完全修复仅影响 Node.js 26.x因此未包含在 v24.17.0 的修复清单中。六、提交清单17 个变更逐一梳理v24.17.0 共包含 17 个提交除上述 CVE 修复外还包括提交模块说明9e4dfc7bbacryptoCVE-2026-48933 WebCrypto 输出长度防护cb2aed980cdeps升级 llhttp 至 9.4.2a8a0d12875depsCVE-2026-48937 nghttp2 集成修复66e6203c1cdepsSEMVER-MAJOR升级 nghttp2 至 1.69.0dd627ced27/684bae568fdeps升级 OpenSSL 源码至 3.5.7含 archs 文件3a631e7f83deps修复 AIX 平台 OpenSSL 隐式声明cf44df3996deps升级 undici 至 7.28.0138c70294bdns,netCVE-2026-48930 拒绝内嵌 NUL 主机名be7e719c3fhttpCVE-2026-48931http.Agent响应队列投毒cc7c11b4d1http2CVE-2026-48619 限制 originSet 大小9224427b92lib,testCVE-2026-48615 脱敏隧道错误中的代理凭据cf85d54839permissionCVE-2026-48935 禁用 FileHandle utimesa1bbc24f96permissionCVE-2026-48617 处理 writereport 路径校验e3723ff2d6test新增会话复用主机验证回归测试a77af4867btlsCVE-2026-48934 会话绑定认证主机31beb4f707tlsCVE-2026-48928 修复大小写敏感的 SNI 匹配8e75c73f91tlsCVE-2026-48618 归一化服务器身份校验主机名从提交分布可以看出本次安全发布的主要贡献者包括 Matteo Collina8 项、RafaelGSS2 项与 Filip Skokan1 项多数修复涉及TLS/HTTP 协议层的输入校验与状态管理这提示 24.x 用户应重点关注 TLS、HTTP/2、代理与权限模型相关场景。七、下载与校验平台清单与 SHASUMS 完整性验证7.1 支持的平台与下载物v24.17.0 提供如下官方分发物Windows64 位安装器node-v24.17.0-x64.msi、ARM 64 位安装器node-v24.17.0-arm64.msi、64 位二进制win-x64/node.exe、ARM 64 位二进制win-arm64/node.exemacOS64 位安装器node-v24.17.0.pkg、Apple Silicon 二进制darwin-arm64.tar.gz、Intel 二进制darwin-x64.tar.gzLinuxx64linux-x64.tar.xz、PPC LE 64 位linux-ppc64le.tar.xz、s390xlinux-s390x.tar.xz、ARMv8 64 位linux-arm64.tar.xzAIX64 位二进制aix-ppc64.tar.gz源码node-v24.17.0.tar.gz另提供 headers 包用于原生模块编译完整下载清单可通过官方 dist 目录获取例如https://nodejs.org/dist/v24.17.0/API 文档位于https://nodejs.org/docs/v24.17.0/api/。这份平台清单的生成逻辑可以追溯至仓库中的 downloadsTable.mjs脚本依据 semver 规则按版本动态过滤条目——例如 23.0.0后移除 Windows 32 位安装器与二进制、 24.0.0后移除 ARMv7 32 位二进制。因此 v24.17.0 的清单不含 32 位产物与本次发布实际提供的文件完全一致。7.2 SHASUMS 校验确保下载文件完整性每次官方发布都会附带一份由发布人 PGP 签名的SHASUMS256.txt.asc校验文件。v24.17.0 的完整校验清单摘要如下覆盖全部安装器、二进制、源码包与 Windows.7z/.zip包31e9fc249c74a3a6dfeca4758229f003620459b42c3749f7c423f2999d09a727 node-v24.17.0-aix-ppc64.tar.gz adee7826d2840efd66cec5e79c9b4e151f4815ac0e24f92cf334bc28d7f1f83c node-v24.17.0-arm64.msi 4fc3266a3702eebc39cc37661cf4eeceeade307e242ab64e4d7ce7949197e11f node-v24.17.0-darwin-arm64.tar.gz cf7e9152d7bd86c140f6eccf3577abfbaf8960be1ca49d9d900e8484984dcb9a node-v24.17.0-darwin-arm64.tar.xz 80da552fe037290cb130e9dea590f5eeeb7aa450636f0c89ab41415511c1ec27 node-v24.17.0-darwin-x64.tar.gz fe50e386f6a5e0b29ce44b989e543da9fb9a80aed0b91a2f0cb19c55106921fc node-v24.17.0-darwin-x64.tar.xz ac60c4ba92204658efaac112efea5d3597348b011be679af0eec324d8c08915e node-v24.17.0-headers.tar.gz aab64d32cd1690e4027326e746877bdac62f0a8458215241638477cbfe0a4192 node-v24.17.0-headers.tar.xz faa0d59ba7fe7045c950ed09b190578fb8eee73e4358686d38fcc99ca58c1480 node-v24.17.0-linux-arm64.tar.gz 67324b9e515e7d13da72571a5dd522bb23145a820f7dde15497897e466759ab3 node-v24.17.0-linux-arm64.tar.xz 804ed4a1a0ef28d592408b84ac2a85e858ab9124dad933e12b4323609411b809 node-v24.17.0-linux-ppc64le.tar.gz 7657dfb803132a05cfc83353f43f603cba790e1d2366caeb36083aa8f351124b node-v24.17.0-linux-ppc64le.tar.xz a659e9c26fcd648f3359dbfd292f078434168040f2fb1acf3c9c1bcd3fc37b2b node-v24.17.0-linux-s390x.tar.gz a8e6f79fac2e17e5a9a9d479bad3b6f19921049bbb5888fa238347427502f23c node-v24.17.0-linux-s390x.tar.xz e0472427aa791ad80bdc426ff7cc73cdd28ed0f616d1ff9689a23a7f47f1265f node-v24.17.0-linux-x64.tar.gz ab343a1b747c7cbf3630dfd7dbf818c5423fab2eb4f5ad1afc896f6bd121a917 node-v24.17.0-linux-x64.tar.xz 0ef6a68334882bb74f5afd2d370cf2cdabc3ef823c8fdd649d9d779478c09607 node-v24.17.0-win-arm64.7z 4957712f67fce55779cc794d9b4df9e0e802a18c841ad5a4e42f17be490e634d node-v24.17.0-win-arm64.zip 91382ab13fea6cfdd475fc0f5b74727c979f609a94905ae338f8b9f1cce32457 node-v24.17.0-win-x64.7z f2aa33b35b75aca5f3f7b85675a6f6423201053e9381911e64961f3bda2528ab node-v24.17.0-win-x64.zip ae5d9e9f6c85b8d35717f499ba907259ec80672c289858bae19074355906a240 node-v24.17.0-x64.msi 6d795ec7986972ac377bcf017eb2a4f970962f36e1584bfebe79326a194f365f node-v24.17.0.pkg 66a10e05fa7875ff1d7d669de405ea6ce8725f2352bd07550f520dea2f880825 node-v24.17.0.tar.gz a7ab562ed2369a29c68b72fa00e3103bcdfe37063dff799c6acc8e404e275fcd node-v24.17.0.tar.xz 44999f9ec6486d01202d8961f343eac8c9f2847b234a8637c3fd0f1e2bb3288a win-arm64/node.exe d32c3ff35f34b9593e5fcddc23ca779f4b40abfb9aa5a031d620f1ecb44ca935 win-arm64/node.lib 60c69df69e22db238ab670efb7ad57ab6da92adcea33c6eea152daf3c2182ad6 win-arm64/node_pdb.7z 93262aebc5c28f3f2218cad37a7635b9fb95ea89cb068c124b7eac9446682029 win-arm64/node_pdb.zip c6335d08331c23d68b9f2b18adb102002d76ef150b47248e954c507e0d033664 win-x64/node.exe 4ab42af597bc4f0957e9e2dcd5db18bdf223406a0c8e0b6be0f28e57977b808b win-x64/node.lib 0e2a2937823b7fbca4d4ed344ed13d6c8a519d06460f77966fce59e1d146826b win-x64/node_pdb.7z bd231782ef5e062395d6d2a259c3aaee994db694df9bdcd4beeb9d6bac9e69ec win-x64/node_pdb.zip该清单位于 PGP 签名块-----BEGIN PGP SIGNED MESSAGE-----/-----END PGP SIGNATURE-----之内表明校验值本身经过发布人私钥签名。建议下载后按如下流程验证下载对应平台的二进制与SHASUMS256.txt.asc使用gpg导入 Node.js 发布密钥并验证签名有效使用sha256sum -c校验下载文件哈希与清单一致确认无误后再执行安装或替换。八、升级与风险处置建议针对 v24.17.0建议按以下优先级处置生产环境尽快升级由于包含 2 个 HIGH 级漏洞TLS 主机名校验绕过、WebCrypto DoS以及多个可被远程触发的协议层问题HTTP/2 OOM、GOAWAY 会话残留、代理凭据泄露任何暴露公网的服务都应尽快升级到 24.17.0 或更高版本重点审计 TLS/HTTP2 场景如果服务使用 SNI 多证书、mTLS、HTTP/2 客户端、TLS 会话复用或代理隧道应优先验证升级后行为检查权限模型配置使用--permission模型--allow-fs-*、--allow-net等的应用升级后可复测只读路径保护与报告写入行为同步更新依赖确认项目锁文件中的 undici、llhttp 等依赖引用与 v24.17.0 内置版本保持一致避免混用旧版EOL 版本处理已 EOL 的 Node.js 版本在安全发布时同样受影响请迁移至受支持的发布线22.x、24.x、26.x并保持最新。九、延伸阅读这份发布说明是如何生成与展示的v24.17.0 发布说明位于仓库的 apps/site/pages/en/blog/release/ 目录下该目录已积累数百篇历史发布说明其生成与展示链路可作为理解 nodejs.org 内容体系的一个切面生成仓库提供了 release-post/index.mjs 脚本node index.mjs [version]会自动从 changelog、GitHub 作者信息、SHASUMS256.txt.asc等数据源抓取内容并依据 template.hbs 模板渲染成发布说明——本文涉及的 Notable Changes、Commits、下载链接与 SHASUMS 块正是该模板的标准组成展示发布说明作为category: release的博客文章通过 blog.ts 的getBlogPosts/paginateBlogPosts做分类聚合与分页并由 BlogPostCard 组件以卡片形式呈现标题、作者、发布时间、分类标签发布数据v24.17.0 在官网下载页的展示数据由 releaseData.mjs 生成其中 LTS/Current/EOL 状态判定逻辑决定了 24.17.0 显示为 LTS。结语Node.js v24.17.0 是一次典型的小版本号、大安全量的 LTS 安全发布11 个 CVE 修复集中在 TLS 校验、HTTP/2 状态管理、代理凭据处理与权限模型四条主线上配合 llhttp、nghttp2、OpenSSL、undici 四组关键依赖升级整体修复面覆盖了协议层、加密层与运行层。对于 24.x 用户而言这不仅是常规补丁更是一次值得优先执行的强制升级。建议在升级前对照本文的 CVE 清单完成自身场景的风险评估升级后通过 SHASUMS 校验确保二进制完整性并将权限模型、TLS 会话复用、HTTP/2 客户端等场景纳入回归测试范围。【免费下载链接】nodejs.orgThe Node.js® Website项目地址: https://gitcode.com/GitHub_Trending/no/nodejs.org创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考