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
CVE-2019-2215 — Prova de conceito de exploit para CVE-2019-2215, uma vulnerabilidade de uso após liberação no driver binder do Android que permite escalonamento local de privilégios em dispositivos vulneráveis. | Kitploit
Ferramentas/GitHubGitHub/codecat007/cve-2019-2215
Segurança AndroidEscalada de PrivilégiosFrameworks de ExploraçãoAnálise de VulnerabilidadesExploraçãoSegurança MóvelExploração de Binários
GitHubcodecat007/cve-2019-2215

CVE-2019-2215

Prova de conceito de exploit para CVE-2019-2215, uma vulnerabilidade de uso após liberação no driver binder do Android que permite escalonamento local de privilégios em dispositivos vulneráveis.

Ver Repositório
2há 6 anosAinda 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

CVE-2019-2215

O seguinte problema existe no branch android-msm-wahoo-4.4-pie do https://android.googlesource.com/kernel/msm (e possivelmente outros):

Há um use-after-free do membro wait na estrutura binder_thread no driver binder em /drivers/android/binder.c.

Conforme descrito no commit upstream: “binder_poll() passa a waitqueue thread->wait que pode ser dormida para trabalho. Quando uma thread que usa epoll sai explicitamente usando BINDER_THREAD_EXIT, a waitqueue é liberada, mas nunca é removida da estrutura de dados epoll correspondente. Quando o processo subsequentemente sai, o código de limpeza epoll tenta acessar a waitlist, o que resulta em um use-after-free.”

A seguinte prova de conceito mostrará a falha UAF em uma compilação de kernel com KASAN (do relatório de bug upstream inicial em https://lore.kernel.org/lkml/[email protected]/): #include <fcntl.h> #include <sys/epoll.h> #include <sys/ioctl.h> #include <unistd.h>

root@kitploit:~
    #define BINDER_THREAD_EXIT 0x40046208ul

    int main()
    {
            int fd, epfd;
            struct epoll_event event = { .events = EPOLLIN };

            fd = open("/dev/binder0", O_RDONLY);
            epfd = epoll_create(1000);
            epoll_ctl(epfd, EPOLL_CTL_ADD, fd, &event);
            ioctl(fd, BINDER_THREAD_EXIT, NULL);
    }

Este problema foi corrigido em Dezembro de 2017 no kernel 4.14 LTS [1], no kernel AOSP android 3.18 [2], no kernel AOSP android 4.4 [3], e no kernel AOSP android 4.9 [4], mas o Pixel 2 com o boletim de segurança mais recente ainda é vulnerável com base na revisão do código fonte.

Outros dispositivos que parecem ser vulneráveis com base na revisão do código fonte são (referindo-se a versões 8.x, salvo indicação em contrário):

  1. Pixel 2 com Android 9 e Android 10 preview (https://android.googlesource.com/kernel/msm/+/refs/heads/android-msm-wahoo-4.4-q-preview-6/)
  2. Huawei P20
  3. Xiaomi Redmi 5A
  4. Xiaomi Redmi Note 5
  5. Xiaomi A1
  6. Oppo A3
  7. Moto Z3
  8. Telefones LG Oreo (rodam o mesmo kernel de acordo com o site)
  9. Samsung S7, S8, S9

Temos evidências de que este bug está sendo usado ativamente. Portanto, este bug está sujeito a um prazo de divulgação de 7 dias. Após 7 dias ou quando um patch for amplamente disponibilizado (o que ocorrer primeiro), o relatório do bug se tornará visível ao público.

Confirmado que esta prova de conceito funciona no Pixel 2 com a compilação walleye_kasan-userdebug 10 QP1A.191105.0035899767, causando uma falha KASAN. Código C da prova de conceito e new.out anexados. Saída do console KASAN anexada.

Recebi informações técnicas do TAG e de partes externas sobre um exploit Android atribuído ao grupo NSO. Esses detalhes incluíam fatos sobre o bug e a metodologia do exploit, incluindo, mas não se limitando a:

  • É uma escalada de privilégio de kernel usando uma vulnerabilidade de use-after-free, acessível de dentro do sandbox do Chrome.
  • O bug estava supostamente sendo usado ou vendido pelo NSO Group.
  • Funciona no Pixel 1 e 2, mas não no Pixel 3 e 3a.
  • Foi corrigido no kernel Linux >= 4.14 sem um CVE.
  • CONFIG_DEBUG_LIST quebra a primitiva.
  • CONFIG_ARM64_UAO dificulta a exploração.
  • A vulnerabilidade é explorável nos processos de renderização do Chrome sob o domínio SELinux 'isolated_app' do Android, levando-nos a suspeitar que o Binder é o componente vulnerável.
  • O exploit requer pouca ou nenhuma personalização por dispositivo.
  • Uma lista de dispositivos afetados e não afetados e suas versões, e mais. Uma lista não exaustiva está disponível na descrição deste problema.

Usando esses detalhes, determinei que o bug sendo usado é quase certamente o deste relatório, pois descartei outros candidatos potenciais comparando patches. Uma explicação mais detalhada deste bug e da metodologia para identificá-lo será escrita em uma postagem de blog futura quando eu encontrar tempo.

Atualmente não temos uma amostra do exploit. Sem amostras, não conseguimos confirmar nem a linha do tempo nem o payload.

O bug é uma vulnerabilidade de escalada de privilégio local que permite o comprometimento total de um dispositivo vulnerável. Se o exploit for entregue via web, ele só precisa ser emparelhado com um exploit de renderizador, pois esta vulnerabilidade é acessível através do sandbox.

Anexei uma prova de conceito de exploit local para demonstrar como este bug pode ser usado para obter leitura/escrita arbitrária do kernel quando executado localmente. Requer apenas execução de código de aplicativo não confiável para explorar CVE-2019-2215. Também anexei uma captura de tela (success.png) da POC rodando em um Pixel 2, com Android 10 e nível de patch de segurança de setembro de 2019 (google/walleye/walleye:10/QP1A.190711.020/5800535:user/release-keys).

Declaração do fornecedor do Android:

"Este problema é classificado como Alta gravidade no Android e, por si só, requer a instalação de um aplicativo malicioso para exploração potencial. Quaisquer outros vetores, como via navegador da web, exigem encadeamento com um exploit adicional. Notificamos os parceiros Android e o patch está disponível no Android Common Kernel. Os dispositivos Pixel 3 e 3a não são vulneráveis, enquanto os dispositivos Pixel 1 e 2 receberão atualizações para este problema como parte da atualização de outubro."

Baixar ferramenta