UAF/double free() in gdb_pid_list() #25836 漏洞概述 在 函数中存在一个与之前类似的 UAF(Use-After-Free)漏洞。 当 遍历列表时,如果 返回了无效响应(导致 并触发 ),在清理阶段,最后追加的项 会被释放两次。 具体原因是:在错误路径中, 变量没有被重置为 ,导致在 标签处的清理逻辑中,该指针被重复 。 影响范围 项目:radare2 触发条件: - 返回线程/进程列表(分配 结构)。 - 失败(返回无效响应)。 - 错误路径: ,跳转到 。 - 清理触发 UAF/double-free。 修复方案 在错误路径中,将 变量重置为 ,防止在清理阶段重复释放。 POC代码