日常交流
2026-01-14
日常交流
0
请注意,本文编写于 140 天前,最后修改于 137 天前,其中某些信息可能已经过时。

目录

安全更新已发布
基于超时的竞争条件导致 Uint8Array/Buffer.alloc 无法填充零值 (CVE-2025-55131) - (高危)
利用精心构造的符号链接绕过文件系统权限 (CVE-2025-55130) - (高危)
Node.js HTTP/2 服务器在接收到格式错误的 HEADERS 帧时崩溃并出现未处理的错误 (CVE-2025-59465) - (高危)
Node.js 中通过 async_hooks 捕获的“超出最大调用堆栈大小”错误会导致进程崩溃,绕过错误处理程序 (CVE-2025-59466) - (中等)
内存泄漏漏洞可导致针对处理 TLS 客户端证书的应用程序的远程拒绝服务攻击 (CVE-2025-59464) - (中等)
通过未经检查的 Unix 域套接字连接 (UDS) 绕过 Node.js 权限模型 (CVE-2026-21636) - (中等)
TLS PSK/ALPN 回调异常绕过错误处理程序,导致拒绝服务攻击和文件描述符泄漏 (CVE-2026-21637) - (中等)
fs.futimes() 绕过只读权限模型 (CVE-2025-55132) - (低)
概括

安全更新已发布

现在已推出针对 Node.js 25.x、24.x、22.x 和 20.x 版本系列的更新,以解决以下问题:

  • 3 个高危问题。
  • 4 个中等严重程度的问题。
  • 1 个低严重性问题。

本次安全更新包含以下依赖项更新,以解决公开存在的漏洞:

  • c-ares (1.34.6) 在 20.x、22.x、24.x、25.x 上
  • undici (6.23.0, 7.18.0) 于 20.x, 22.x, 24.x, 25.x

基于超时的竞争条件导致 Uint8Array/Buffer.alloc 无法填充零值 (CVE-2025-55131) - (高危)

Node.js 的缓冲区分配逻辑存在缺陷,当使用vm带有超时选项的模块时,如果分配操作被中断,则可能暴露未初始化的内存。在特定的时间条件下,使用 buffer.setBuffersBuffer.alloc或其他TypedArray类似方法分配的缓冲区Uint8Array可能包含先前操作遗留的数据,从而导致进程内密钥(例如令牌或密码)泄露或数据损坏。

虽然漏洞利用通常需要精确的时间控制或进程内代码执行,但当不受信任的输入影响工作负载和超时时,它也可能变得可远程利用,从而导致潜在的机密性和完整性影响。

影响:

  • 此漏洞影响所有活跃版本系列的用户:20.x、22.x、24.x、25.x

感谢 Nikita Skovoroda 报告并修复此漏洞。

利用精心构造的符号链接绕过文件系统权限 (CVE-2025-55130) - (高危)

Node.js 权限模型的一个缺陷允许攻击者利用精心构造的相对符号链接路径绕过--allow-fs-read权限--allow-fs-write 限制。通过链接目录和符号链接,即使脚本仅被授予当前目录的访问权限,也能绕过允许的路径并读取敏感文件。这破坏了预期的隔离保证,使用户能够任意读写文件,从而可能导致系统被入侵。

影响:

  • 此漏洞会影响 Node.js v20、v22、v24 和 v25 中采用权限模型的用户。

感谢 natann 报告此漏洞,也感谢 RafaelGSS 修复了它。

Node.js HTTP/2 服务器在接收到格式错误的 HEADERS 帧时崩溃并出现未处理的错误 (CVE-2025-59465) - (高危)

HTTP/2 HEADERS 包含过大或无效数据的格式错误帧 HPACK 会导致 Node.js 崩溃,因为它会触发未处理的 TLSSocket错误 ECONNRESET。进程不会安全地关闭连接,而是直接崩溃,从而导致远程拒绝服务攻击。这主要影响那些没有为安全套接字附加显式错误处理程序的应用程序,例如:

js
server.on('secureConnection', socket => { socket.on('error', err => { console.log(err); }); });

影响:

  • 此漏洞影响所有活跃版本系列的用户:20.x、22.x、24.x、25.x

感谢 dantt 报告此漏洞,也感谢 RafaelGSS 修复了它。

Node.js 中通过 async_hooks 捕获的“超出最大调用堆栈大小”错误会导致进程崩溃,绕过错误处理程序 (CVE-2025-59466) - (中等)

我们发现 Node.js 错误处理机制存在一个漏洞,async_hooks.createHook()启用该机制后,“超出最大调用堆栈大小”错误将无法捕获。process.on('uncaughtException')进程不会到达指定位置,而是直接终止,导致崩溃无法恢复。依赖于AsyncLocalStorage(v22, v20) 或async_hooks.createHook()(v24, v22, v20) 的应用程序在特定条件下容易受到由深度递归触发的拒绝服务攻击。

影响:

  • 此漏洞影响所有活跃版本系列的用户:20.x、22.x、24.x、25.x

感谢 Andrew MacPherson (AndrewMohawk) 发现此漏洞,感谢 aaron_vercel 报告此漏洞,感谢 mcollina 修复此漏洞。

内存泄漏漏洞可导致针对处理 TLS 客户端证书的应用程序的远程拒绝服务攻击 (CVE-2025-59464) - (中等)

Node.js 的 OpenSSL 集成存在内存泄漏问题,当将X.509证书字段转换为 UTF-8 编码而未释放已分配的缓冲区时,就会发生这种情况。当应用程序调用 get_certificate_fields() 方法时socket.getPeerCertificate(true),每个证书字段都会造成内存泄漏,导致远程客户端通过重复建立 TLS 连接不断增加内存占用。随着时间的推移,这可能导致资源耗尽和拒绝服务攻击。

影响:

  • 此漏洞影响所有活跃版本系列的用户:20.x、22.x、24.x

感谢 giant_anteater 报告此漏洞,也感谢 RafaelGSS 修复了此漏洞。

通过未经检查的 Unix 域套接字连接 (UDS) 绕过 Node.js 权限模型 (CVE-2026-21636) - (中等)

Node.js 权限模型的一个缺陷允许 Unix 域套接字 (UDS) 连接在--permission启用时绕过网络限制。即使未启用--allow-net该缺陷,攻击者控制的输入(例如 URL 或 socketPath 选项)也可以通过 net、tls 或 undici/fetch 连接到任意本地套接字。这破坏了权限模型的预期安全边界,并允许访问特权本地服务,可能导致权限提升、数据泄露或本地代码执行。

目前,网络权限(--allow-net)仍处于实验阶段。

影响:

  • 该问题会影响使用 Node.js v25 版本权限模型的用户。

感谢 mufeedvh 报告此漏洞,也感谢 RafaelGSS 修复了此漏洞。

TLS PSK/ALPN 回调异常绕过错误处理程序,导致拒绝服务攻击和文件描述符泄漏 (CVE-2026-21637) - (中等)

Node.js TLS 错误处理机制存在缺陷,远程攻击者可以利用该缺陷在 TLS 服务器使用过程中导致服务器崩溃或资源耗尽 pskCallback。ALPNCallback这些回调函数抛出的同步异常会绕过标准的 TLS 错误处理路径(tlsClientError 和 error),导致进程立即终止或静默的文件描述符泄漏,最终造成拒绝服务攻击。由于这些回调函数会在 TLS 握手期间处理攻击者控制的输入,因此远程客户端可以反复触发此问题。

影响:

  • 此漏洞会影响使用 PSK 或 ALPN 回调的 TLS 服务器,这些服务器在 Node.js 版本中,如果回调没有被安全包装,就会抛出异常。

感谢 0xmaxhax 报告此漏洞,也感谢 mcollina 修复了此漏洞。

fs.futimes() 绕过只读权限模型 (CVE-2025-55132) - (低)

futimes()Node.js 权限模型的一个缺陷允许即使进程只有读取权限,也可以更改文件的访问和修改时间戳。

与此不同utimes(),futimes()它不会应用预期的写入权限检查,这意味着在只读目录中可以修改文件元数据。这种行为可能被用于篡改时间戳,从而掩盖活动,降低日志的可靠性。

影响:

  • 此漏洞会影响 Node.js v20、v22、v24 和 v25 中采用权限模型的用户。

感谢oriotie报告此漏洞,也感谢RafaelGSS修复了它。

概括

Node.js 项目将于 2025 年 12 月 15 日星期一或之后不久发布 25.x、24.x、22.x 和 20.x 版本系列的新版本,以解决以下问题:

  • 3 个高危问题。
  • 1 个低严重性问题。
  • 1 个中等严重程度的问题。

影响

Node.js 25.x 系列版本存在 3 个高危漏洞和 1 个低危漏洞。Node.js 24.x 系列版本存在 3 个高危漏洞、1 个低危漏洞和 1 个中危漏洞。Node.js 22.x 系列版本存在 3 个高危漏洞、1 个低危漏洞和 1 个中危漏洞。Node.js 20.x 系列版本存在 3 个高危漏洞、1 个低危漏洞和 1 个中危漏洞。

需要注意的是,当发布安全更新时,已停止支持的版本始终会受到影响。为确保系统安全,请使用我们发布计划中列出的最新版本 。

发布时间

版本将于 2025 年 12 月 15 日星期一或之后不久发布。

如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:猪葱葱

联系邮箱::[email protected]

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!