
セキュリティ研究: Huawei Nova 9 NAM-AL00 (SM7325, HMOS 4.2, kernel 5.4.86-qgki) における CVE-2026-43499 GhostLock
セキュリティ研究: Huawei 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) で導入されました。このリポジトリは、SPL 2025-07-01 を適用した HMOS 4.2 を実行する NAM-AL00 上でこの脆弱性が決定的に発動することを確認し、完全な悪用手法を文書化し、フル root が達成されなかった理由を分析します。
| 発見 | 詳細 |
|---|---|
| HKIP | SM7325 には存在しない (EL2 = Qualcomm Haven) |
| SLAB_FREELIST_HARDENED | 未設定 — freelist ポインタはハードニングされていない |
| CONFIG_FUTEX_PI | y — 脆弱なコードパスが存在 |
| check_root module | EL1 に組み込みのアンチ root 検出器 |
| PR_SET_MM_MAP planter | copy-before-capable-check により非特権でのスタックプランティングが可能 |
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