安全研究:Huawei Nova 9 NAM-AL00(SM7325、HMOS 4.2、kernel 5.4.86-qgki)上的 CVE-2026-43499 GhostLock
安全研究:在华为 Nova 9 (NAM-AL00, Snapdragon 778G/SM7325, HarmonyOS 4.2.0.185, 内核 5.4.86-qgki) 上对 CVE-2026-43499 (GhostLock) 的实机确认与利用分析。
CVE-2026-43499 是 Linux 内核 rt_mutex 子系统中的一个栈上释放后使用(use-after-free)漏洞,自 v2.6.39 (2011) 引入。本仓库确认该漏洞在运行 HMOS 4.2、SPL 2025-07-01 的 NAM-AL00 上可确定性触发,记录了完整的利用方法,并分析了未取得完整 root 的原因。
| 发现 | 详情 |
|---|---|
| HKIP | 在 SM7325 上不存在(EL2 = Qualcomm Haven) |
| SLAB_FREELIST_HARDENED | 未设置 — 空闲链表指针未加固 |
| CONFIG_FUTEX_PI | y — 存在易受攻击的代码路径 |
| check_root 模块 | 位于 EL1 的内置反 root 检测器 |
| PR_SET_MM_MAP 注入器 | 在 capability 检查前复制,可实现非特权堆栈植入 |
poc/poc_trigger.c — deterministic EDEADLK trigger (stage-1 PoC)
poc/perf_probe.c — KASLR slide extraction via perf_event
exploit/stage3_main.c — integrated pipeline (trigger→plant→punch→oracle)
exploit/escalate.c — post-write escalation core (cred/sid/seccomp)
exploit/stage2_forge.h — forged rt_mutex_waiter composer
sim/sim_final.py — Unicorn emulator oracle (offline walk trace)
offsets/offset.h — all verified symbol addresses & struct layouts
analysis/kernel.config — extracted build configuration
analysis/symbols.txt — 224,986 recovered kallsyms entries
# Trigger PoC
${NDK}/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android33-clang \
-O2 -static -pthread -o poc_trigger poc/poc_trigger.c
# Run on device
adb push poc_trigger /data/local/tmp/
adb shell /data/local/tmp/poc_trigger 10
MIT