GhostLock (CVE-2026-43499) — OPPO Watch 3 Pro 전체 연구 사례
OPPO Watch 3 Pro (OWW211, ColorOS Watch 중국판, Android 11, ARM32)에서
CVE-2026-43499 (GhostLock, rtmutex/futex-PI 스택 UAF)에 대한 전체 익스플로잇 연구.
최종 결론: 체인 쓰기 메커니즘은 OPPO 00522 (msm-5.4 재구성판 rtmutex)에서 트리거 즉시 크래시되어
익스플로잇을 완료할 수 없음. 모든 트리거 방식(T2 requeue / sched_setattr) 실기기 검증 모두 panic 발생;
또한 /proc/switch/{lcd,mt,tp} 트리거 노드는 SELinux에 의해 모두 차단됨. 메커니즘 연구는 완전히
보존되며, 비 msm 커널 / 미패치 기기 참고용.
연구 내용
핵심 발견 (디스어셈블리 실측)
freed_rt_waiter 깊이 0xE8 (W 스레드 sp_svc 기준)
prctl(PR_SET_NAME) 딥 스택 strncpy D=0xD0 → phase-1 stamp (+0x18..+0x27 커버)
fremovexattr 딥 스택 strncpy D=0x12C → phase-2 stamp (전체 커버)
recvmsg 실제 D=0xC0 (기존 보고서 0x108은 방향/깊이 오류)
- 체인 쓰기 대상:
FAKE_LOCK=0xC1ABA338 → unlocked_ioctl 슬롯 0xC1ABA33C에 쓰기
- 실패 근본 원인: msm 재구성판
rt_mutex_adjust_prio_chain (0xc0196c4c)의 [7]/out
경로 unlock(task + orig_lock) → 모든 실제 체인 트리거는 반드시 panic 발생
기기 정보
| 항목 | 값 |
|---|
| 모델 | OPPO Watch 3 Pro (OWW211) |
| 시스템 | ColorOS Watch 중국판, Android 11 (RKQ1.211102.001) |
|
면책 조항
이 프로젝트는 학습 및 연구 목적으로만 사용됩니다. 소유한 기기에서만 실행해야 하며, 사전에 백업을
수행해야 합니다. 익스플로잇 과정에서 기기가 크래시, 재부팅, 데이터 손실이 발생할 수 있습니다.
저자는 어떠한 오용으로 인한 결과에도 책임을 지지 않습니다.
연구 목적입니다. 현지 법률 및 기기 제조업체 정책을 준수하시기 바랍니다.