Use-After-Free in load_with_gdkpixbuf() 漏洞概述 当 使用 编译时, 会创建一个 对象。该对象通过引用计数(refcount)管理生命周期。然而,在 的清理逻辑中,代码直接调用了 释放了对象及其内部缓冲区,而忽略了引用计数检查。 这导致了一个竞态条件:如果存在一个回调函数(如 )持有该对象的逻辑有效引用,当 返回后,该引用将变成悬空指针(Dangling Pointer)。任何对该帧对象或其字段的访问都会导致在已释放内存上的使用(Use-After-Free)。 影响范围 受影响版本: 触发条件: 应用程序必须使用 编译。 危害: 可能导致信息泄露(读取已释放的内存内容)、内存损坏,或者如果释放的内存被重用为函数指针或 vtable 结构,可能导致代码执行。 修复方案 目前补丁版本为 None(未修复)。 POC 代码 构建要求: 必须使用 编译。 触发文件: 任何由 接受的有效图像文件(如 PNG, JPEG 等)。