从这个网页截图中,可以获取到以下关于漏洞的关键信息: 1. 漏洞描述: - 问题:在 binder 事务处理过程中,由于偏移量覆盖导致的未授权访问(UAF)。 - 原因:在事务处理期间,原始数据在目标缓冲区中被复制,但复制操作缺乏出界检查。如果原始数据超过数据节大小,复制操作会覆盖偏移量节,导致错误并触发异常。 - 影响:这种错误会导致处理对象的偏移量被破坏,进而触发使用后释放(use-after-free)错误。其他用户可能会遇到 dangling pointer(空指针)问题。 2. KASAN 报告: - 报告内容:KASAN(Kernel Address Space Layout Randomization)报告了 slab-use-after-free( slab 使用后释放)错误。 - 报告位置:在 binder-util/743 处发生。 - 硬件信息:Linux 内核在 dummy-virt 环境下运行。 3. 修复措施: - 检查条件:确保原始数据复制在数据节范围内。 - 修复补丁:修复了与潜在数据泄漏相关的事务复制问题。 4. 相关补丁和作者: - 补丁编号:6d98eb95b450。 - 作者:Carlos Llamas 和 Greg Kroah-Hartman。 5. 代码变更: - 文件:drivers/android/binder.c。 - 变更位置:-3173,6 +3173,7。 - 变更内容:在 binder_transaction 函数中添加了检查条件,确保复制操作在数据节范围内。 这些信息表明,该漏洞与 binder 事务处理中的数据复制和偏移量覆盖有关,修复措施通过检查条件确保了数据复制的安全性。