MobiusM/CVE-2026-43499

GitHub: MobiusM/CVE-2026-43499

Linux 内核 Futex PI Use-After-Free 漏洞(CVE-2026-43499)的概念验证代码,演示 rtmutex 代理锁回滚路径中因误用 current 导致的悬空指针问题。

Stars: 0 | Forks: 0

# CVE-2026-43499 — Linux Kernel Futex PI Use-After-Free ## 漏洞 `kernel/locking/rtmutex.c` 中的 `remove_waiter()` 用于慢速锁路径,但也用于在 `futex_requeue()` 调用 `rt_mutex_start_proxy_lock()` 时的代理锁回滚。 在代理锁的情况下,`waiter::task` 不是 `current`,但 `remove_waiter()` 错误地操作了 `current`。这导致了三个问题: 1. rbtree 出队操作在没有持有 `waiter::task::pi_lock` 的情况下发生。 2. waiter 任务的 `pi_blocked_on` 没有被清除,留下了一个随时可能触发 use-after-free 的悬空指针。 3. `rt_mutex_adjust_prio_chain()` 操作了错误的任务。 **CWE-416** (Use After Free)。CVSS 3.1:**7.8 HIGH**(本地,低复杂度,低权限要求)。 受影响版本:Linux 2.6.39 至 6.18.x;已在 6.1.175、6.6.140、6.12.86、6.18.27、7.0.4 中修复。 ## 用法 **前提条件:** Android NDK 27、CMake ≥ 3.22、`adb`。 ``` cmake -B build -G Ninja cmake --build build adb push build/trigger /data/local/tmp/trigger adb shell chmod +x /data/local/tmp/trigger adb shell /data/local/tmp/trigger ``` 在易受攻击的设备上的预期输出以 kernel panic 结束: ``` Unable to handle kernel write to read-only memory ``` ## 致谢 **报告者:** - Yuan Tan - Yifan Wu - Juefei Pu - Xin Liu **修复作者:** Keenan Dong **提交者:** Thomas Gleixner **Commit:** [`3bfdc63`](https://github.com/torvalds/linux/commit/3bfdc63936dd4773109b7b8c280c0f3b5ae7d349) — rtmutex: Use waiter::task instead of current in remove_waiter()
标签:Android, Bash脚本, DSL, Linux内核, PoC, UAF漏洞, Web报告查看器, 安全渗透, 客户端加密, 提权, 暴力破解