
Полное исследование эксплуатации CVE-2026-43499 (GhostLock) на OPPO Watch 3 Pro, включая анализ UAF в ядре, дизассемблирование и разработку цепочки эксплуатации с подробными отчётами.
Полное исследование эксплуатации CVE-2026-43499 (GhostLock, rtmutex/futex-PI stack UAF) на OPPO Watch 3 Pro (OWW211, ColorOS Watch китайская версия, Android 11, ARM32).
Итоговый вывод: механизм записи через цепочку на OPPO 00522 (rtmutex из рефакторинга msm-5.4) вызывает панику при срабатывании, эксплуатация невозможна. Все способы триггера (T2 requeue / sched_setattr) проверены на реальном устройстве — везде panic; узлы триггера
/proc/switch/{lcd,mt,tp}полностью блокируются SELinux. Исследование механизма сохранено полностью для справки на устройствах без msm-ядра / с неисправленными прошивками.
| Каталог/файл | Описание |
|---|---|
ghostlock_repo/ | Полный исходный код эксплойта + предкомпилированный ARM32-бинарник + подробный README |
ghostlock_oppo_report.md | Общий отчёт по цепочке эксплуатации |
ghostlock_deepcopy_report_v2.md | Глубокая дизассемблерная проверка глубокого стека stamp (исправлена ошибка направления в старом отчёте) |
ghostlock_depth_report.md | Глубокий анализ freed_waiter |
ghostlock_write_target_00522_report.md | Анализ цели записи через цепочку (.data записываемые fops) |
_rev/ | Анализ уязвимостей kgsl (CVE-2022-22057 UAF / map_user_mem TOCTOU, обе исправлены) |
symbols_00522.txt | Таблица символов kallsyms ядра 00522 (единственная в сети) |
heota_query.py | Эмуляция протокола OPPO HeyOTA (AES-CTR, извлечение прошивки 00522 с сервера) |
decode_kallsyms.py | Скрипт декодирования kallsyms |
*_dis.txt / *_scan*.py | Записи дизассемблирования и скрипты глубокого сканирования |
freed_rt_waiter — 0xE8 (относительно sp_svc потока W)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 0xC1ABA33Crt_mutex_adjust_prio_chain (0xc0196c4c)
unlock(task + orig_lock) → любой реальный триггер цепочки гарантированно вызывает panic| Параметр | Значение |
|---|---|
| Модель | OPPO Watch 3 Pro (OWW211) |
| Система | ColorOS Watch китайская версия, Android 11 (RKQ1.211102.001) |
Данный проект предназначен только для обучения и исследований. Запускать можно только на устройстве, которым вы владеете, и следует заранее сделать резервную копию. В процессе эксплуатации устройство может выйти из строя, перезагрузиться, возможна потеря данных. Автор не несёт ответственности за последствия любого неправомерного использования.
Только для исследовательских целей. Соблюдайте местные законы и политику производителя устройства.
| SoC | Snapdragon W5+ Gen 1 (SW5100/monaco), Adreno 702v2 |
| Ядро | 5.4.134-perf-00522-gb29f81177a79 (ARM32, без KASLR) |
| Bootloader | Заблокирован, OEM unlock отключён |