
Testa o canal lateral do Android ContactsProvider para CVE-2026-0075 com um PoC sem permissões, permitindo análise de causa raiz e comparação entre versão corrigida e vulnerável.
Um protótipo de pesquisa Android em laboratório controlado para avaliar o comportamento observável associado ao CVE-2026-0075 no ContactsProvider2.
O CVE-2026-0075 é um problema de elevação de privilégio local no Android no ContactsProvider2. O aviso público descreve um possível caminho para o acesso ao banco de dados de contatos por meio de injeção de SQL, sem interação do usuário. O Android classifica o problema como Alta e identifica o Android 14, 15, 16 e 16-qpr2 como versões AOSP afetadas. Dispositivos com o nível de patch de segurança 2026-06-05 ou posterior corrigem os problemas do boletim de junho de 2026.
O aplicativo incluído é um PoC Java/Android autônomo que intencionalmente não declara READ_CONTACTS nem WRITE_CONTACTS. Ele tem como objetivo ajudar pesquisadores autorizados a comparar o comportamento do limite de permissões e o tratamento de exceções em builds controlados.
Este repositório é apenas para pesquisa de segurança autorizada.
O projeto não alega um caminho de exploração universal. Ele registra uma observação controlada que deve ser validada contra o build alvo, seu nível de patch e sua implementação do ContactsProvider.
.
├── no-permission-probe/ Standalone Android application and PowerShell helpers
│ ├── build.ps1 Compiles, packages, aligns, and signs a debug APK
│ ├── run-poc.ps1 Installs the APK and starts the controlled probe
│ ├── AndroidManifest.xml No READ_CONTACTS or WRITE_CONTACTS declaration
│ ├── res/ Android resources
│ └── src/ Application source
├── CONTRIBUTING.md Contribution and research-data requirements
├── SECURITY.md Vulnerability reporting guidance
└── .gitignore Local build and IDE exclusions
A correção pública do AOSP, bb9f36b3ff6d42136afb61d527e1e8f67242fe32, é intitulada Fix side channel attacks in CP2. Ela altera ContactsProvider2 para remover mensagens SQLiteException relacionadas a JSON para chamadores sem READ_CONTACTS e traz a materialização do cursor para o caminho de tratamento de exceções. Este PoC é projetado para comparação comportamental controlada de antes/depois; ele não substitui a validação de patch.
javac, jar e keytool disponíveis no PATHandroid-3536.0.0adb)Defina ANDROID_HOME como a raiz do SDK antes de compilar. ANDROID_SDK_ROOT também pode ser usado pelas suas ferramentas locais, mas os scripts fornecidos leem ANDROID_HOME.
$env:ANDROID_HOME = 'C:\Android\Sdk'
A partir da raiz do repositório:
Set-Location .\no-permission-probe
.\build.ps1
O APK de depuração assinado é gravado em no-permission-probe\build\probe.apk. O diretório build é excluído do controle de versão.
Inicie um emulador autorizado ou dispositivo de teste contendo somente contatos sintéticos.
Confirme o dispositivo e o nível de patch:
adb devices
adb shell getprop ro.build.version.security_patch
Compile o aplicativo e execute:
Set-Location .\no-permission-probe
.\run-poc.ps1
Revise somente a interface do aplicativo e a tag de log específica:
adb logcat -s CVE20260075Probe:I
O auxiliar de execução seleciona uma URI data/<id> exata do dispositivo de teste conectado e inicia a atividade com uma concessão de leitura. Não o use onde esse comportamento não estiver explicitamente autorizado.
Para um resultado defensável, registre o seguinte a cada execução:
Compare uma imagem de laboratório conhecida como vulnerável com uma imagem que contenha a correção de junho de 2026. O sinal esperado de remediação é que erros qualificados de SQLite relacionados a JSON retornados a chamadores sem READ_CONTACTS sejam substituídos por uma mensagem genérica; isso por si só não estabelece a ausência de todo oráculo observável.
Este CVE foi divulgado publicamente e corrigido no Android Security Bulletin de junho de 2026. Para vulnerabilidades atuais de produtos Android, relate diretamente pelo processo do Android Security. Consulte SECURITY.md para obter orientações específicas do repositório.
bb9f36b3ff6d42136afb61d527e1e8f67242fe32Licenciado sob a Apache License 2.0.