CVE-2025-60360CVE-2025-60360是radare2逆向工程框架中存在的一个内存泄漏漏洞,影响radare2 v5.9.8及之前版本。该漏洞位于r2r_subprocess_init函数中,在子进程初始化过程中未能正确释放已分配的内存资源,导致内存持续累积占用。radare2是一款广受欢迎的开源逆向工程和二进制分析框架,被安全研究人员、恶意软件分析师和漏洞猎人广泛使用,用于静态分析、动态分析、调试和修改二进制文件。该框架支持多种处理器架构和文件格式,功能强大且可扩展。
根据CVSS 3.1评分标准,该漏洞的评分为5.5分,属于中等严重等级。攻击向量为本地攻击(AV:L),攻击复杂度低(AC:L),所需权限为低权限(PR:L),无需用户交互(UI:N)。在影响方面,该漏洞对机密性影响较低(C:L),对完整性无影响(I:N),但对可用性影响较高(A:H)。这意味着攻击者可以通过反复触发该漏洞导致进程内存持续增长,最终耗尽系统可用内存资源,造成拒绝服务(DoS)状态。
该漏洞的发现者为[email protected],披露日期为2025年10月17日。官方已通过GitHub Pull Request(radareorg/radare2#24245)提供了修复方案。由于radare2广泛应用于安全研究和渗透测试领域,该漏洞可能影响大量安全工具链和工作流程。受影响用户应及时更新到修复版本,以避免潜在的安全风险。
该漏洞的根本原因在于r2r_subprocess_init函数在初始化子进程时存在资源管理缺陷。具体而言,当该函数被调用以创建子进程时,会分配必要的内存资源用于存储子进程相关信息,包括进程描述符、命令行参数缓冲区、I/O流缓冲区等数据结构。然而,在某些代码路径中,特别是在错误处理或异常退出路径中,这些已分配的内存未能被正确释放。
从技术实现角度来看,r2r_subprocess_init函数负责初始化r2r测试框架的子进程管理模块。该函数会调用malloc或calloc分配内存用于存储子进程的输入/输出管道信息、环境变量以及执行参数。当函数正常返回时,部分内存可能未被释放到内存池中,而是直接丢失引用,导致内存泄漏。每次调用该函数都会泄漏一定量的内存。
攻击者可以通过反复调用触发该函数的代码路径(例如通过radare2的命令行接口执行特定的测试命令或分析操作),使进程的内存占用持续增长。由于该漏洞为本地攻击且仅需低权限,攻击者可以在已获得有限系统访问权限的情况下利用此漏洞实施拒绝服务攻击。当系统内存被耗尽时,可能导致系统性能下降、关键服务崩溃或系统完全不可用。该漏洞的利用门槛较低,无需复杂的攻击技术,仅需反复触发相关函数即可。