
Poc for CVE-2024-36971
⚠️ 免责声明 — 使用本仓库前请阅读 本仓库仅用于防御性研究、分析和负责任的报告。 它包含一个不可利用的概念验证文件,名为
CVE-2024-36971,以及一个公开可用的 Android 内核头文件片段(sock.h),用于说明受影响的区域。 不提供任何漏洞利用代码、复现命令或逐步操作说明。 请不要在正式设备、第三方系统或非您控制的网络上运行本仓库中的任何文件。作者对误用不承担任何责任。
sock.h 片段CVE-2024-36971 是 Android 内核网络子系统中的一个释放后使用(UAF)漏洞。根本原因是在处理套接字路由所使用的目标缓存(dst)时操作顺序不安全,导致并发代码路径可以访问悬空指针。本仓库记录了一个防御性研究 PoC,展示了影响(内核不稳定和数据损坏),但未提供漏洞利用原语。
本 README 解释了 PoC 演示了什么、为何包含的 sock.h 是相关的,以及测试和共享方面的责任约束。
CVE-2024-36971 — PoC 源文件(保留在仓库中以供透明性)。不建议执行;仅用于存档/分析目的。sock.h — 公开的 Android 内核头文件片段,显示了与该问题相关的套接字/目标结构和辅助函数。README.md — 本文件(文档和指南)。dst 对象释放的顺序不当,导致释放后使用(UAF)。__dst_negative_advice() / 目标缓存代码路径,可能导致 UAF 条件发生。本仓库不提供触发它的说明。sock.h 片段 sock.h 头文件是一个公开可用的内核头文件(来自 Android 内核树),包含:
struct sock 及相关网络结构的定义;sk_dst_cache(套接字目标缓存)以及获取/设置目标引用的辅助函数的引用;dst_release() 的使用。包含此片段是为了显示能够为 CVE-2024-36971 提供上下文的确切结构和代码位置。该头文件通过显示其顺序或同步对正确性至关重要的数据字段和函数,支持本 README 中的解释。
注意: 以下列举了在受控实验室中安全研究人员通常使用的能力和工具。有意使其不可操作——没有命令、没有脚本、没有参数值。
用于安全、隔离内核研究的推荐能力:
adb/fastboot,收集 dmesg/last_kmsg,以及用于将内核地址映射到源行的工具(符号文件、addr2line 等)。本项目遵循负责任的披露原则。如果您是供应商、维护者或安全联系人,并且需要额外的不可操作诊断工件(完整回溯、清理后的日志或取证转储)来验证或修复该问题,请通过安全渠道联系仓库所有者。首选方式包括:
研究人员将与已验证的供应商/维护者合作,并在安全、适当的条款下共享额外的诊断材料。可复现的复现步骤不会公开发布。