GhostLock AAK Launcher
CVE-2026-43499 · Linux kernel rtmutex stack Use-After-Free 本地提权(LPE)加载器/触发器
Este repositório é um projeto de pesquisa de segurança e prova de conceito (PoC) destinado a demonstrar e verificar, em um ambiente de teste controlado, o fluxo de acionamento da vulnerabilidade CVE-2026-43499 (GhostLock).
Visão geral do projeto
Este é um aplicativo Android (APK) "carregador/acionador" que funciona em conjunto com um preload.so externo.
- Vulnerabilidade alvo: CVE-2026-43499 (Linux kernel kernel/locking/rtmutex.c, stack UAF)
- Função: obter permissão de shell (uid 2000) via Shizuku, gravar o preload.so externo em /data/local/tmp/preload.so e injetá-lo em /system/bin/sh via LD_PRELOAD, acionando o construtor run_exploit() do preload.so para executar a cadeia completa de exploração.
- Objeto de verificação: Honor (荣耀) AAK-AN00 · MagicOS 10 / Android 15 · kernel 6.6.89-android15-8
Pontos técnicos
- Seleção correta do ambiente de gatilho de permissões de shell (uid 2000), evitando a interceptação de operações futex PI pelo Seccomp=2 da sandbox untrusted_app
- Injeção via LD_PRELOAD, sem necessidade de modificar o código do processo hospedeiro
- Leitura paralela de stdout/stderr com duas threads, prevenindo deadlock de pipe
- Segue o padrão oficial Shizuku UserService, com callback de log em tempo real
Para uma explicação mais detalhada do princípio da vulnerabilidade e da cadeia de exploração, consulte EXPLOIT_CN.md.
Estado atual (importante)
⚠️ Este repositório encontra-se atualmente em estado de "não suficientemente verificado".
- Este projeto não passou por testes sistemáticos e amplos em dispositivos reais. Se o acionamento da vulnerabilidade pode ser bem-sucedido de forma estável em dispositivos/firmwares/versões de kernel específicos, atualmente é desconhecido (Unknown / Unverified).
- A taxa de sucesso do acionamento é afetada por diversos fatores de engenharia, por exemplo:
- Força bruta de KASLR slide: a enumeração de endereços randomizados pode falhar
- Offsets codificados de forma fixa: a tabela de offsets depende de uma versão específica de firmware (6.6.89-android15-8); patches de diferentes fabricantes e diferentes builds de kernel podem apresentar diferenças
- Patches de segurança do fabricante: se o dispositivo já tiver aplicado as correções relevantes, a vulnerabilidade pode já ter sido mitigada
- Portanto, este repositório não garante que a reprodução ou a exploração seja bem-sucedida em qualquer dispositivo.
- Realize a verificação em dispositivos de teste controlados e isolados; nunca a utilize em ambiente de produção ou em dispositivos de terceiros.
Visão rápida do estado
| Item | Estado |
|---|
| Autenticidade da vulnerabilidade (CVE-2026-43499) | Confirmada oficialmente pelo NVD |
| Princípio de design do código-fonte | Logicamente coerente, implementação de engenharia padronizada |
| Taxa de sucesso em testes reais em dispositivos | Desconhecida / Não verificada |
| Compatibilidade com múltiplos firmwares | Não verificada (depende de offsets codificados de forma fixa) |
| Possibilidade de escalonamento de privilégios em qualquer dispositivo | Não garantida |
Instruções de uso
Uso restrito a ambientes de pesquisa autorizados e controlados.
- Instale e inicie o Shizuku (v11+)
- Instale este APK e toque em "Solicitar permissão do Shizuku"
- Selecione o arquivo preload.so a ser injetado
- Toque em "Executar Exploit" e observe a saída do log
Consulte a tabela de pontos de observação de depuração em EXPLOIT_CN.md.
Aviso legal (Disclaimer)
Este software é fornecido "como está" (AS IS), sem garantias de qualquer tipo, expressas ou implícitas, incluindo, entre outras, garantias de comercialização, adequação a um propósito específico e não violação de direitos.
- Este repositório destina-se exclusivamente a pesquisa de segurança, análise de vulnerabilidades e fins educacionais.
- O usuário deve assegurar que utiliza este software dentro de um escopo legalmente autorizado e assume todos os riscos e responsabilidades legais decorrentes do uso deste software.
- O autor não se responsabiliza por quaisquer danos diretos, indiretos, incidentais ou consequenciais causados pelo uso deste software (incluindo, entre outros, danos ao dispositivo, perda de dados, instabilidade do sistema, alteração ilegal de contas ou permissões, disputas legais etc.).
- Este software não pode ser utilizado para qualquer finalidade ilegal, incluindo, entre outros, acesso não autorizado, ataques maliciosos, roubo de dados ou destruição de sistemas de terceiros.
- O usuário deve cumprir todas as leis e regulamentos aplicáveis de sua localidade e da jurisdição à qual pertence o sistema alvo.
Ao baixar, usar ou distribuir este software, você declara que leu, compreendeu e concorda com todos os termos deste aviso legal.
Aviso legal (Legal Notice)
1. Tecnologia de duplo uso (Dual-Use)
Este repositório contém código relacionado à exploração de vulnerabilidades, que constitui tecnologia de duplo uso (dual-use), podendo servir tanto à pesquisa e defesa de segurança legítimas quanto ser indevidamente utilizado para ataques. A distribuição desse tipo de tecnologia deve seguir o princípio de Divulgação Responsável (Responsible Disclosure).
2. Coordenação de divulgação de vulnerabilidades
- A esta vulnerabilidade foi atribuído o identificador CVE-2026-43499, commit de correção: rtmutex: Use waiter::task instead of current in remove_waiter().
- Recomenda-se reportar prioritariamente pelos canais oficiais ao fabricante/comunidade do kernel e acompanhar o aviso de segurança oficial, atualizando oportunamente os sistemas afetados.
- Diferentes países e regiões possuem legislações distintas sobre a distribuição e o uso de código de exploração de vulnerabilidades e ferramentas de teste de intrusão (por exemplo, em algumas jurisdições, a Lei de Segurança Cibernética, a Lei de Segurança de Dados, o Regulamento de Proteção da Segurança de Sistemas de Informação Computadorizados, bem como disposições penais/civis de diversos países sobre acesso não autorizado).
- Antes de usar ou distribuir este software, certifique-se de verificar a legislação aplicável na sua jurisdição. O uso ou a disseminação ilegal pode constituir crime.
4. Pré-requisito de autorização
- Os testes são permitidos apenas em sistemas/dispositivos dos quais você detém a propriedade legal ou para os quais obteve autorização por escrito.
- Testes não autorizados podem violar a lei e constituir uma violação dos direitos de terceiros.
Licença
Este projeto é distribuído como código aberto sob a GNU General Public License v3.0 (GPLv3). Consulte LICENSE para mais detalhes.
Copyright (C) 2026 oopnv70-lab
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
Declaração de Recursos de Terceiros
O ícone do aplicativo (ícone do launcher) deste projeto utiliza materiais de código aberto: