Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
ghostlock-sabrina — CVE-2026-43499 exploit de root GhostLock para Chromecast com Google TV (sabrina) | Kitploit
Ferramentas/GitHubGitHub/k-o-n-t-o-r/ghostlock-sabrina
Segurança AndroidSegurança de Sistemas EmbarcadosEscalada de PrivilégiosAnálise de VulnerabilidadesExploraçãoSegurança de Hardware e IoTPapers e PesquisaDesenvolvimento de PayloadsExploração de Binários
GitHubk-o-n-t-o-r/ghostlock-sabrina

ghostlock-sabrina

CVE-2026-43499 exploit de root GhostLock para Chromecast com Google TV (sabrina)

1há 1 diaAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Ver Repositório

GhostLock Sabrina

Exploit de root para Chromecast com Google TV (sabrina) via CVE-2026-43499 -- um use-after-free no subsistema futex PI (herança de prioridade) do kernel Linux.

Obtém root em um dispositivo com bootloader bloqueado executando Android 14 com kernel 5.15.170 (PGO+BOLT+LTO, clang 17).

A vulnerabilidade

GhostLock explora um bug em remove_waiter() chamado a partir do caminho de rollback -EDEADLK em rt_mutex_start_proxy_lock(). A função limpa current->pi_blocked_on (o do requeuer, já NULL) em vez do da tarefa waiter. O pi_blocked_on do waiter nunca é limpo, deixando um ponteiro pendente para um rt_mutex_waiter liberado na pilha do kernel.

Um sched_setattr subsequente dispara rt_mutex_adjust_pi -> rt_mutex_adjust_prio_chain, que segue o ponteiro pendente e percorre uma cadeia PI sobre dados controlados pelo atacante em uma página de heap recuperada -- fornecendo uma primitiva de escrita arbitrária via rb_erase.

Cadeia de exploração

Principais inovações

  • Caminhada antes da limpeza com SIGUSR1: a sobreposição SEQPACKET é executada dentro de um manipulador de sinal que interrompe a espera do futex, então as caminhadas da cadeia PI disparam antes que o caminho de limpeza do futex possa disputar os spinlocks da página de spray (elimina o travamento do MCS qspinlock)
  • user_namespace falso: um namespace autocontido na página de spray com mapas de uid/gid de identidade e ucounts = NULL -- cap_capable corresponde na primeira iteração e inc_rlimit_ucounts termina após um loop, eliminando a necessidade de vazar &init_user_ns
  • Amostragem perf controlada por TID: filtros PERF_SAMPLE_TID garantem que apenas os snapshots de registradores da thread chamadora sejam contados, evitando que serviços de sistema ativos dominem a votação de modo

Alvo

  • Dispositivo: Chromecast com Google TV (sabrina), Amlogic S905X3 (4x A55), 2 GB RAM
  • Kernel: 5.15.170-android14-11-gf4a1f03072af (aarch64, PGO+BOLT+LTO, clang 17.0.2)
  • Android: 14, build UTTC.250917.004, patch de segurança 2025-10-01
  • Config: CONFIG_FUTEX_PI=y, CONFIG_IO_URING=y, perf_event_paranoid=-1, SELinux enforcing, panic_on_oops=1, sem namespaces de usuário

Compilação

root@kitploit:~
export ANDROID_NDK_HOME=/path/to/android-ndk
make -j$(nproc)

Requer o Android NDK (testado com r27). Produz um binário aarch64 estaticamente linkado.

Uso

root@kitploit:~
adb push ghostlock /data/local/tmp/
adb shell "cd /data/local/tmp && ./ghostlock --cred"

O exploit leva ~20 segundos (heap spray + bruteforce do KernelSnitch). Em caso de sucesso, o processo executa /system/bin/sh com credenciais uid=0.

Autoria

Este exploit foi portado e desenvolvido por Claude Opus 4.6 (Anthropic) com GLM-5.3 (Z.ai) como consultor de exploração de kernel.

Referências

  • GhostLock (exploit original) -- o exploit GhostLock para OnePlus/Pixel da AnomalyStudio no qual este port é baseado
  • KernelSnitch -- canal lateral de temporização para vazar endereços de heap do kernel via colisões de hash de futex (Gruss et al., TU Graz)
  • CVE-2026-43499 -- a vulnerabilidade use-after-free do futex PI
  • Código-fonte do kernel Linux 5.15 -- kernel/futex/, kernel/locking/rtmutex.c, lib/rbtree.c

Aviso legal

Este exploit é publicado para pesquisa de segurança e fins educacionais. Ele tem como alvo um dispositivo de propriedade do pesquisador. Não use isto em dispositivos que você não possui ou sem autorização.

Licença

MIT

Baixar ferramenta
EstágioTécnica
Vazamento de KASLRperf_event_open com PERF_SAMPLE_IP (controlado por TID)
Vazamento de task structperf_event_open com PERF_SAMPLE_REGS_INTR (controlado por TID, modo de endereços do mapa linear)
Vazamento de mm_structKernelSnitch -- canal lateral de temporização por colisão de hash de futex
Heap sprayCoreografia de descarte SLUB (memfd-close, overflow parcial de CPU) + recuperação de página de ordem 2 com io_uring_setup(256)
Sobreposição de pilhaAF_UNIX SOCK_SEQPACKET sendmsg -- move_addr_to_kernel copia sockaddr de 128 bytes para a pilha do kernel, sobrepondo os campos task/lock/prio do waiter pendente
Gatilho de caminhadasched_setattr com escada nice monotônica (7 -> 14 -> 19) dispara a caminhada da cadeia PI
Primitiva de escritarb_erase Caso 1a escreve child (fake_cred) em parent->rb_right = task->cred
Troca de credenciaistask->cred = fake_cred (uid=0, todas as caps, user_namespace falso autocontido na página de spray)
Shell rootexecve("/system/bin/sh") -- commit_creds no caminho de exec copia fake_cred para uma credencial de slab limpa