CakesTwix/Android-CVE-2026-43499
GitHub: CakesTwix/Android-CVE-2026-43499
用于检测 Android 设备是否存在 Linux 内核 rtmutex 释放后使用漏洞 CVE-2026-43499 的安全检测应用,通过版本比对与 PoC 执行双重验证机制判定漏洞状态。
Stars: 1 | Forks: 0
# CVE-2026-43499 检测器
这是一款用于检测内核漏洞 **CVE-2026-43499** 的 Android 应用 —— 这是一个通过 `futex_requeue` 触发的 `rtmutex` 释放后使用(use-after-free)漏洞。
## 漏洞详情
| | |
|---|---|
| **CVE** | CVE-2026-43499 |
| **类型** | 释放后使用(Use-after-free) |
| **组件** | `kernel/locking/rtmutex.c` |
| **触发条件** | `futex_requeue` → `remove_waiter()` 中的代理锁回滚使用了 `current` 而不是 `waiter->task` |
| **CVSS** | 7.8(高危) |
| **受影响版本** | Linux 2.6.39 – 6.1.174 |
| **已修复版本** | 6.18.27+, 6.12.86+, 6.6.140+, 6.1.175+ |
## 工作原理
1. 将内核版本与已知修复版本进行比对。如果内核版本等于或高于已修复版本,则立即报告**安全**。
2. 否则,运行原生的 PoC 二进制文件(通过 `jniLibs` 打包,并从 `nativeLibraryDir` 执行)。
3. 进行 5 次尝试:
- 启动二进制文件
- 等待 5 秒
- 发送 **SIGTERM** 信号
- 等待 5 秒让进程退出
4. 如果进程在其中任何一次尝试中在收到 SIGTERM 后依然存活(卡在 D-state)→ **存在漏洞**。
5. 如果所有 5 次尝试中的进程都能被成功终止 → **已修复**。
6. 在最后一次尝试后额外等待 5 秒。
二进制文件的位数通过 `Build.SUPPORTED_ABIS` 自动检测。
## 环境要求
- Android 7.0+(API 24)
- ARM(32 位构建:`armeabi-v7a`)
## 技术栈
- Kotlin
- Jetpack Compose
- Material Deisgn 3
- 单 Activity 架构
## 构建
```
./gradlew assembleDebug
```
APK 输出路径:`app/build/outputs/apk/debug/app-debug.apk`
## 相关链接
- [CVE-2026-43499 (NVD)](https://nvd.nist.gov/vuln/detail/CVE-2026-43499)
- [PoC 源代码](https://github.com/NebuSec/CyberMeowfia/blob/main/IonStack/CVE-2026-43499/poc/poc.c)
## 内核补丁
| 内核版本 | 代码仓库 |
|--------|------------|
| 3.4 | [acroreiser/android_kernel_lge_hammerhead](https://github.com/acroreiser/android_kernel_lge_hammerhead) |
| 3.10 | [acroreiser/android_kernel_lenovo_a6010](https://github.com/acroreiser/android_kernel_lenovo_a6010) |
| 4.4 | [acroreiser/android_kernel_samsung_universal8895](https://github.com/acroreiser/android_kernel_samsung_universal8895) |
| 4.9 | [Lenovo-Z5s/android_kernel_lenovo_sdm710](https://github.com/Lenovo-Z5s/android_kernel_lenovo_sdm710) |
| 4.9 | [ximi-daisy-test/android_kernel_xiaomi_msm8953](https://github.com/ximi-daisy-test/android_kernel_xiaomi_msm8953) |
## 警告
在存在漏洞的设备上运行此测试可能会导致内核崩溃或设备自动重启。请自行承担风险。
标签:Android, DSL, Jetpack Compose, Kotlin, Linux内核, 后台面板检测