
CVE-2026-43499 (GhostLock) ASUS ROG Phone 5S 대응 버전 — UAF 트리거 + pselect 스택 재점유, KASLR 유출 차단
ASUS ROG Phone 5S (ASUS_I005)에서의 CVE-2026-43499 (GhostLock) 적응 연구.
결론: 취약점 트리거와 스택 회수는 완전히 검증됨; 권한 상승 체인은 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()가 프록시 락 롤백 경로에서 waiter->task 대신 current를 사용하여,
task_struct->pi_blocked_on에 댕글링 포인터가 남게 된다.
_copy_from_user는 여전히 실행됨PSELECT_WAITER_WORD_SHIFT = 10docs/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 Huawei 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 OnePlus 다기기, 스택 레이아웃 실현 가능성
· knowlily/cve-2026-43499-honor 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 |