
# Pesquisa completa de exploração para CVE-2026-43499 (GhostLock) no OPPO Watch 3 Pro, incluindo análise de UAF no kernel, desmontagem e desenvolvimento da cadeia de exploração com relatórios detalhados.
Pesquisa de exploração completa da CVE-2026-43499 (GhostLock, UAF de pilha rtmutex/futex-PI) no OPPO Watch 3 Pro (OWW211, ColorOS Watch versão chinesa, Android 11, ARM32).
Conclusão final: o mecanismo de escrita em cadeia trava ao ser acionado no OPPO 00522 (rtmutex refatorado do msm-5.4), impossibilitando a exploração. Todos os métodos de acionamento (T2 requeue / sched_setattr) foram verificados em hardware e resultaram em panic; além disso, os nós de acionamento
/proc/switch/{lcd,mt,tp}foram totalmente bloqueados pelo SELinux. A pesquisa do mecanismo foi totalmente preservada para referência em kernels não-msm / dispositivos sem correção.
| Diretório/Arquivo | Descrição |
|---|---|
ghostlock_repo/ | Código-fonte completo do exploit + binário ARM32 pré-compilado + README detalhado |
ghostlock_oppo_report.md | Relatório geral da cadeia de exploração |
ghostlock_deepcopy_report_v2.md | Desmontagem profunda real do stamp de pilha profunda (corrige erro de direção do relatório antigo) |
ghostlock_depth_report.md | Análise aprofundada do freed_waiter |
ghostlock_write_target_00522_report.md | Análise do alvo de escrita em cadeia (fops gravável em .data) |
_rev/ | Análise de vulnerabilidades kgsl (CVE-2022-22057 UAF / map_user_mem TOCTOU, ambas corrigidas) |
symbols_00522.txt | Tabela de símbolos kallsyms do kernel 00522 (única no mundo) |
heota_query.py | Simulação do protocolo OPPO HeyOTA (AES-CTR, extrai firmware 00522 do servidor) |
decode_kallsyms.py | Script de decodificação kallsyms |
*_dis.txt / *_scan*.py | Registros de desmontagem e scripts de varredura aprofundada |
freed_rt_waiter: 0xE8 (relativo ao sp_svc da thread W)prctl(PR_SET_NAME) strncpy de pilha profunda D=0xD0 → stamp da fase 1 (cobre +0x18..+0x27)fremovexattr strncpy de pilha profunda D=0x12C → stamp da fase 2 (cobertura total)recvmsg D real=0xC0 (o 0x108 do relatório antigo era erro de direção/profundidade)FAKE_LOCK=0xC1ABA338 → escreve no slot unlocked_ioctl 0xC1ABA33Crt_mutex_adjust_prio_chain (0xc0196c4c) da versão refatorada do msm
unlock(task + orig_lock) → qualquer acionamento real de cadeia trava inevitavelmente| Item | Valor |
|---|---|
| Modelo | OPPO Watch 3 Pro (OWW211) |
| Sistema | ColorOS Watch versão chinesa, Android 11 (RKQ1.211102.001) |
Este projeto destina-se apenas a fins de aprendizado e pesquisa. Execute somente em dispositivos que você possui e faça backup antecipadamente. Durante a exploração, o dispositivo pode travar, reiniciar ou perder dados. O autor não se responsabiliza por consequências de uso indevido.
Uso exclusivo para pesquisa. Respeite as leis locais e as políticas dos fabricantes de dispositivos.
| SoC | Snapdragon W5+ Gen 1 (SW5100/monaco), Adreno 702v2 |
| Kernel | 5.4.134-perf-00522-gb29f81177a79 (ARM32, sem KASLR) |
| Bootloader | Bloqueado, desbloqueio OEM desabilitado |