
بحث أمني PoC لـ CVE-2026-0073: التحقق من تجاوز مصادقة ADB
إثبات مفهوم لأبحاث أمنية بواسطة naheeju
إشعار أمني: تم تصحيح CVE-2026-0073 اعتبارًا من 2026-05-01. يتم توفير إثبات المفهوم هذا حصريًا لأغراض البحث الأمني، وتحليل الثغرات، والاختبار المصرح به للأنظمة المتأثرة.
يحتوي هذا المستودع على إثبات مفهوم (PoC) تم إنشاؤه لأغراض البحث الأمني، وتحليل الثغرات، واختبار الاختراق المصرح به، والأغراض التعليمية.
اختبر فقط الأنظمة والأجهزة التي تملكها أو لديك إذن صريح بتقييمها.
يتوقف إثبات المفهوم العام هذا عمدًا بعد إعادة إنتاج حالة المصادقة. وهو لا:
الغرض من هذا المستودع هو إظهار حالة الثغرة بطريقة مسيطر عليها وغير مدمرة.
POC-CVE-2026-0073 هو إثبات مفهوم مبني بلغة Go يختبر تدفق مصادقة ADB
المرتبط بالثغرة. يتواصل إثبات المفهوم مباشرة مع خدمة ADB
ويراقب تسلسل المصادقة CNXN ← STLS ← TLS.
هدف ADB
│
│ TCP
▼
طلب CNXN
│
▼
تم اكتشاف tls_auth
│
▼
طلب STLS
│
▼
اختبار مصادقة TLS
│
▼
إعادة إنتاج حالة الثغرة
│
▼
نجاح الاستغلال
│
▼
توقف
ينتهي إثبات المفهوم عند هذه النقطة ولا يستمر إلى الوصول إلى القشرة بعد المصادقة.
CNXN الخاصة بـ ADB.tls_auth.STLS.يتم توليد الشهادة في الذاكرة ولا تتم كتابتها على القرص عن قصد.
يتوقف التنفيذ العام عمدًا بعد التحقق الناجح من المصادقة. لا توجد خدمة تُفتح بعد المصادقة في إثبات المفهوم هذا.
على وجه الخصوص، لا يفتح إثبات المفهوم shell: ولا يقبل وسيط أمر.
وهذا يبقي المستودع العام مركّزًا على التحقق من الثغرة
بدلاً من توفير تنفيذ قشرة عن بُعد للأغراض العامة.
قبل تشغيل إثبات المفهوم، تأكد من أن الجهاز الهدف يستوفي الشروط التالية:
تحقق من تثبيت Go لديك:
go version
POC-CVE-2026-0073/
├── cmd/
│ └── main.go
├── go.mod
├── go.sum
└── README.md
يحتوي cmd/main.go على إثبات المفهوم العام للتحقق من الثغرة.
git clone https://github.com/naheeju/POC-CVE-2026-0073.git
cd POC-CVE-2026-0073
go mod download
go run ./cmd <IP> [PORT] [KEY_TYPE]
# شهادة EC الافتراضية
go run ./cmd 192.168.1.2 5555 ec
# Ed25519
go run ./cmd 192.168.1.2 5555 ed25519
# منفذ مخصص
go run ./cmd 192.168.1.2 35495 ec
استبدل عنوان IP والمنفذ بتلك الخاصة بجهاز المختبر المصرح لك.
go build -o netra ./cmd
./netra 192.168.1.2 5555 ec
الملف الثنائي
netraالمُجمَّع هو ناتج بناء محلي ولا ينبغي إرساله إلى المستودع العام.
============================================================
ADB AUTHENTICATION BYPASS - PoC
============================================================
By: naheeju
============================================================
Security Research / Authorized Testing Only
This PoC intentionally stops before shell execution.
============================================================
[*] Target : 192.168.1.2:35495
[*] Key type : ec
[*] Mode : Authentication verification
[*] Generating ec test certificate in memory...
[+] Test certificate generated.
[*] Connecting to ADB service...
[*] Sending CNXN...
[+] STLS requested (TLS version: 0x1000000)
[*] Confirming TLS upgrade...
[*] Testing TLS authentication validation...
[+] TLS handshake accepted.
Protocol : TLSv1.3
Cipher : 0x1301
============================================================
EXPLOITATION SUCCESSFUL
============================================================
[+] Authentication condition reproduced.
[+] TLS authentication was accepted.
[+] Vulnerability condition confirmed.
[*] Safety boundary reached.
[*] No ADB shell was opened.
[*] No command was executed.
[*] PoC terminated safely.
============================================================
EXPLOITATION SUCCESSFUL؟في هذا المستودع، تعني الرسالة أن إثبات المفهوم نجح في إعادة إنتاج حالة المصادقة التي يتم اختبارها. وهي لا تعني أن:
ينتهي إثبات المفهوم عمدًا فورًا بعد مرحلة التحقق.
إذا رفض الهدف اختبار المصادقة، يبلغ إثبات المفهوم عن فشل المصادقة وينتهي:
[-] Authentication was rejected.
تشمل الأسباب المحتملة:
tls_auth غير معلن.لا ينبغي تفسير النتيجة الفاشلة كدليل على أن الجهاز آمن من جميع النواحي. إنها تشير فقط إلى أن إثبات المفهوم هذا تحديدًا لم يُعد إنتاج الحالة المختبرة.
ينفذ إثبات المفهوم رسائل بروتوكول ADB ذات الصلة مباشرة بدلاً من الاعتماد
على عميل adb العادي من سطر الأوامر.
العميل خدمة ADB
│ │
│────── CNXN ───────────────────>│
│<───── CNXN ────────────────────│
│<───── STLS ────────────────────│
│────── STLS ───────────────────>│
│<═══════ TLS Handshake ═════════>│
│ │
│ اختبار المصادقة │
│ نتيجة التحقق │
│ │
X────── ينتهي إثبات المفهوم ──────
لا يستمر إثبات المفهوم العام إلى طبقة قشرة/خدمة ADB.
يمكن لإثبات المفهوم توليد نوعين من شهادات الاختبار: ec و ed25519.
يتم الاحتفاظ بالشهادة والمفتاح الخاص المُولَّدين في الذاكرة للاختبار ولا يتم تخزينهما كملفات مفاتيح دائمة بواسطة إثبات المفهوم.
للاختبار المسؤول، استخدم بيئة معزولة كلما أمكن:
┌─────────────────────┐
│ جهاز البحث │
│ Go PoC │
└──────────┬──────────┘
│ شبكة LAN معزولة
▼
┌─────────────────────┐
│ جهاز Android │
│ للاختبار │
│ خدمة ADB │
└─────────────────────┘
لا تعرض البنية التحتية للاختبار القابلة للاستغلال إلى الإنترنت العام.
إذا حدد هذا البحث ثغرة تؤثر على برامج أو أجهزة لا تملكها، فاتبع جهة الاتصال الأمنية المناسبة للبائع وعملية الإفصاح المسؤول.
لا تستخدم هذا المشروع للوصول إلى أنظمة دون إذن.
يفصل هذا المستودع عمدًا بين:
البحث عن الثغرات ← إعادة الإنتاج ← التحقق ← التوثيق
وبين الاستغلال بعد المصادقة. الهدف من إثبات المفهوم العام هو جعل الثغرة قابلة للملاحظة، وقابلة لإعادة الإنتاج، وقابلة للفهم مع الحفاظ على حد أمان واضح.
naheeju — باحث أمني
| الوسيط | مطلوب | الافتراضي | الوصف |
|---|
IP | نعم | — | عنوان IP للجهاز المصرح لاختباره |
PORT | لا | 5555 | منفذ خدمة ADB عبر TCP |
KEY_TYPE | لا | ec | نوع الشهادة: ec أو ed25519 |