
CVE-2026-43499 (GhostLock) adaptation for ASUS ROG Phone 5S — UAF trigger + pselect stack reclaim, KASLR leak blocked
CVE-2026-43499 (GhostLock) 在 ASUS ROG Phone 5S (ASUS_I005) 上的适配研究。
结论:漏洞触发与栈回收完整验证;提权链被 KASLR leak 阻断。
| 阶段 | 内容 | 状态 |
|---|---|---|
| 0 | UAF 触发(3 线程 + CMP_REQUEUE_PI) | ✅ |
| 1 | pselect timeout=0 栈回收(shift=10) | ✅ |
| 1.6 | W 内核栈 SP 泄漏(perf PERF_SAMPLE_REGS_INTR) | ✅ |
| 2 | 任意地址写(需 KASLR slide) | ❌ |
| — | KASLR leak(8 种源全部失败) | ❌ |
| 项目 |
|---|
CVE-2026-43499 (GhostLock) 是 Linux 内核 rtmutex 子系统的栈 UAF。
remove_waiter() 在代理锁回滚路径中使用 current 而非 waiter->task,
导致 task_struct->pi_blocked_on 残留悬空指针。
_copy_from_user 仍执行PSELECT_WAITER_WORD_SHIFT = 10见 docs/05-limitations.md:
docs/ 分析文档与时间线
06-research-snapshot.md 完整研究快照07-iteration-log.md 失败版本记录disasm/ 关键反汇编片段recon/ 侦察输出include/ 符号表 + 结构体偏移src/ PoC 源码(详见 src/README.md)scripts/ 分析脚本logs/ 运行日志(不入 git)# 1. 提取符号与偏移(需 ASUS 官方内核源码编译出的 vmlinux)
./scripts/extract_symbols.sh
./scripts/gen_symbols_h.sh
./scripts/extract_offsets.sh
# 2. 编译 Stage 0
aarch64-linux-gnu-gcc -static -O2 -pthread \
-o ~/tmp/work/bin/poc_stage0_trigger src/poc_stage0_trigger.c
# 3. 设备运行(需 adb shell 到目标设备)
adb shell /data/local/tmp/poc_stage0_trigger
工具链:aarch64-linux-gnu-gcc -static -O2 -pthread
参考
· gitchw/ghostlock-cve-2026-43499 华为 Watch 4 Pro,5.4.210(ARM32)
· ccp-p/ghostlock-cve-2026-43499-4.19-k40 Redmi K40,4.19.157(aarch64)
· JoinChang/ghostlock-oneplus 一加多设备,栈布局可行性
· knowlily/cve-2026-43499-honor 荣耀失败分析
免责声明
仅供安全研究。请勿用于未授权设备。
| 值 |
|---|
| 设备 | ASUS ROG Phone 5S (ASUS_I005) |
| SoC | Snapdragon 888 (SM8350) |
| Android | 13 |
| 内核 | 5.4.210-qgki-perf-gc89cd02a7dfe arm64 |
| SELinux | Enforcing (u:r🐚s0) |
| CapEff | 0 |