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
badepoll-selinux-disabler — Use CVE-2026-43074 para desabilitar o SELinux no Android (Linux 6.6/6.12) | Kitploit
Ferramentas/GitHubGitHub/perongh/badepoll-selinux-disabler
Segurança AndroidEscalada de PrivilégiosFrameworks de ExploraçãoExploraçãoRed TeamingDesenvolvimento de PayloadsExploração de Binários
GitHubperongh/badepoll-selinux-disabler

badepoll-selinux-disabler

Use CVE-2026-43074 para desabilitar o SELinux no Android (Linux 6.6/6.12)

Ver Repositório
6214há 1 mêsAinda 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

badepoll-selinux-disabler

Extração independente do estágio de desativação do SELinux do exploit UAF eventpoll CVE-2026-43074. Ele realiza uma corrida contra a verificação de profundidade de loop do eventpoll (ep_get_upwards_depth_proc) para escrever um zero em selinux_state.enforcing, mudando o dispositivo para Permissive através de uma escrita de um único byte no kernel. Isso é apenas a primitiva de desativação de MAC — sem escalonamento de privilégios.

[!WARNING] Prova de conceito de exploit de kernel. Pode travar o kernel, corromper dados ou deixar o dispositivo inconsistente. Execute apenas em dispositivos que você possui ou está autorizado a testar. Faça backup primeiro.

Origin

Extraído do PoC completo por NebuSec (árvore de código). O UAF reside na verificação de profundidade de loop do eventpoll (ep_get_upwards_depth_proc), que percorre epi->ep sob RCU enquanto ep_free() pode liberar struct eventpoll de uma thread concorrente. O upstream corrigiu isso adiando a liberação para um período de graça RCU (commit 07712db8; NVD, OSV).

Isso é distinto do "Bad Epoll" (CVE-2026-46242), um use-after-free separado em ep_remove() no mesmo código eventpoll; a corrida aqui é especificamente o bug de tempo de vida da verificação de profundidade de loop corrigido por 07712db8.

Affected kernels

De acordo com o CNA do kernel.org (via OSV/NVD), os streams estáveis vulneráveis e suas correções:

  • 6.4.0 – <6.6.136 (corrigido em 6.6.136)
  • 6.7.0 – <6.12.83 (corrigido em 6.12.83)
  • 6.13.0 – <6.18.24 (corrigido em 6.18.24)
  • 6.19.0 – <6.19.14 (corrigido em 6.19.14)

O kernel alvo fixado 6.6.118-android15-8 está dentro do intervalo 6.6 afetado (corrigido em 6.6.136). Kernels de fornecedores que retroportaram a correção sem aumentar a versão upstream não são vulneráveis — verifique a presença real do patch em vez de confiar apenas em uname -r.

Target

Fixado a uma compilação exata — o byte enforcing é alcançado através de um alias KVA hardcoded e a corrida depende do layout slab desse kernel:

  • Device: Pixel 10 Pro / blazer
  • Kernel: 6.6.118-android15-8-g53e6e091166e-ab15266607-4k
  • Fingerprint: google/blazer/blazer:17/CP2A.260705.006/15641320:user/release-keys
  • Alias: TARGET_SELINUX_ENFORCING_ALIAS = 0xffffff800236a2e0

Re-direcionar para outra compilação requer recalcular o alias (offset da imagem de selinux_state + base de mapeamento + endereço de carregamento) em src/target.h.

Build

Requer o Android NDK com a toolchain clang aarch64. Padrões para NDK_ROOT=/opt/android-ndk, API=35:

root@kitploit:~
make            # → build/disabler

Override conforme necessário:

root@kitploit:~
make API=35 NDK_ROOT=/path/to/android-ndk

Run

Envie build/disabler para o dispositivo e execute como o usuário shell (uid 2000). O SELinux deve estar Enforcing no início; o binário ignora caso contrário. Em caso de sucesso:

root@kitploit:~
SELINUX_AFTER Permissive
RESULT PASS selinux_zero attempt=N

Verifique com getenforce → Permissive.

Scope

O exploit original adiciona, além desta primitiva, um redirecionamento de flags do pipe-buffer (escrita estilo DirtyPipe em uma página de cache de página somente leitura) que modifica /system/bin/dumpstate para gerar um daemon root. Esses estágios (pipe.c, patch.c, su.c, payloads.S e a orquestração original main.c) foram removidos aqui, e late_refs.c é reduzido ao seu caminho de redirecionamento de byte zero. Desativar o SELinux sozinho não concede root — ele apenas remove a imposição de MAC para que a carga útil transportadora possa ser executada sem confinamento.

Baixar ferramenta