CVE-2025-59464CVE-2025-59464是Node.js中一个高危内存泄漏漏洞,CVSS评分7.5。该漏洞存在于Node.js的OpenSSL集成中,当应用程序将X.509证书字段转换为UTF-8编码时,没有正确释放已分配的缓冲区内存。当应用程序调用socket.getPeerCertificate(true)方法时,每个证书字段都会导致内存泄漏。攻击者可以通过建立大量重复的TLS连接来触发此漏洞,造成目标服务器内存持续增长,最终导致资源耗尽和拒绝服务。漏洞影响Node.js的多个版本,攻击者无需认证即可远程利用此漏洞。由于漏洞涉及网络层面的TLS连接,攻击复杂度较低,且可用性影响为高,因此被评定为高危漏洞。建议受影响的用户及时更新到最新修复版本以防止潜在攻击。
该漏洞的根本原因在于Node.js的OpenSSL集成模块在处理X.509证书字段的UTF-8编码转换时存在内存管理缺陷。具体来说,当调用TLS socket的getPeerCertificate(true)方法时,Node.js会分配内存缓冲区来存储证书字段的UTF-8编码表示,但在完成处理后未能正确释放这些缓冲区。每次调用此方法都会累积未释放的内存,导致内存泄漏。攻击者可以通过建立多个TLS连接到目标服务器,并反复请求对等证书信息来触发此漏洞。由于TLS连接是网络层面的操作,攻击者可以在不需要任何认证的情况下远程利用此漏洞。随着时间的推移,受影响的服务器将经历持续的内存增长,最终可能导致内存耗尽、系统崩溃或拒绝服务。该漏洞的技术实现涉及OpenSSL的证书处理函数和Node.js的缓冲区管理机制,需要在底层修复内存分配和释放逻辑。