CVE-2026-31053Rizin中的librz/bin/format/le/le.c文件存在双重释放漏洞。当处理格式错误的LE修复链时,重定位条目可能在错误处理期间被多次释放。攻击者通过构造特殊的LE二进制文件,可触发堆损坏导致应用崩溃,造成拒绝服务。
该漏洞位于Rizin的LE(Linear Executable)格式解析模块中,具体函数为le_load_fixup_record()。漏洞根源在于对环形或格式错误的修复链处理不当。在解析过程中,当遇到错误条件进行清理时,代码未能正确检查内存指针是否已被释放,导致同一个堆内存块被释放两次。这种双重释放操作会破坏堆管理器的元数据,导致堆损坏。攻击者无需用户交互或特殊权限,只需诱导目标系统解析特制的LE二进制文件,即可触发该漏洞。由于Rizin常被集成到自动化分析流水线中,此漏洞可导致服务中断或分析工具崩溃。