
보안 연구: 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는 2011년 v2.6.39에서 도입된 Linux 커널 rt_mutex 서브시스템의 스택 use-after-free 취약점입니다. 이 저장소는 NAM-AL00에서 SPL 2025-07-01, HMOS 4.2 환경에서 해당 취약점이 결정적으로 발생함을 확인하고, 전체 악용 방법론을 문서화하며, 완전한 루트 권한 획득에 실패한 이유를 분석합니다.
| 발견 항목 | 세부 사항 |
|---|---|
| HKIP | SM7325에 존재하지 않음(EL2 = Qualcomm Haven) |
| SLAB_FREELIST_HARDENED | 설정되지 않음 — freelist 포인터가 하드닝되지 않음 |
| CONFIG_FUTEX_PI | y — 취약한 코드 경로 존재 |
| check_root 모듈 | EL1에 내장된 안티루트 탐지기 |
| PR_SET_MM_MAP 플랜터 | 능력 검사 전 복사로 비특권 스택 플랜팅 가능 |
poc/poc_trigger.c — 결정적 EDEADLK 트리거(1단계 PoC)
poc/perf_probe.c — perf_event를 통한 KASLR 슬라이드 추출
exploit/stage3_main.c — 통합 파이프라인(트리거→플랜트→펀치→오라클)
exploit/escalate.c — 쓰기 후 권한 상승 코어(cred/sid/seccomp)
exploit/stage2_forge.h — 위조된 rt_mutex_waiter 컴포저
sim/sim_final.py — Unicorn 에뮬레이터 오라클(오프라인 walk 추적)
offsets/offset.h — 검증된 모든 심볼 주소 및 구조체 레이아웃
analysis/kernel.config — 추출된 빌드 구성
analysis/symbols.txt — 복구된 224,986개 kallsyms 항목
# 트리거 PoC
${NDK}/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android33-clang \
-O2 -static -pthread -o poc_trigger poc/poc_trigger.c
# 기기에서 실행
adb push poc_trigger /data/local/tmp/
adb shell /data/local/tmp/poc_trigger 10
MIT