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) |
|
免責事項
本プロジェクトは学習および研究目的のみです。所有するデバイスでのみ実行し、事前にバックアップを取ってください。エクスプロイト
実行中にデバイスがクラッシュ、再起動、データ損失する可能性があります。著者は不正使用による結果について一切責任を負いません。
研究用途。現地の法律およびデバイスメーカーのポリシーを遵守してください。