
استغلال لإثبات المفهوم لنظام UniFi OS لثغرة CVE-2026-34910 التي تتيح تجاوز المصادقة وتمكين حقن الأوامر/تنفيذ الأكواد عن بُعد (RCE)، وثغرة CVE-2026-34909 لاجتياز المسار بهدف قراءة ملفات عشوائية.
إثبات مفهوم للاختبار المصرح به لمسارين تم تحديدهما كما يلي:
CVE-2026-34910: تجاوز المصادقة الذي قد يؤدي إلى حقن أوامر وتنفيذ كود عن بُعد عبر معالج تحديث الحزم.CVE-2026-34909: اجتياز المسار الذي قد يؤدي إلى قراءة ملفات عشوائية عبر الاسم المستعار app-assets.هذا السكربت مخصص للتحقق الأمني على الأجهزة والشبكات التي تمتلكها أو التي لديك تفويض صريح لاختبارها. لا تستخدمه ضد أنظمة أطراف أخرى.
1.0.0يجب التحقق من قيم CVSS وحالة الثغرات مقابل إرشادات البائع وإصدارات البرامج الثابتة ذات الصلة قبل استخدامها في التقارير.
يمكن لهذا السكربت إرسال أوامر إلى الهدف وقراءة محتويات ملفات منه. قد تشمل التأثيرات تغيير النظام، وكشف معلومات حساسة، وتعطيل الخدمات، أو إتلاف البيانات.
قبل تشغيل الاختبار:
يستخدم السكربت المكتبة القياسية للغة Python فقط، وبالتالي لا توجد خطوات تثبيت حزم إضافية.
استنسخ المستودع أو انسخ السكربت إلى جهاز الاختبار، ثم انتقل إلى دليل المشروع:
git clone <URL-REPOSITORI>
cd CVE-2026-34910
لا حاجة إلى pip install. تأكد من أن المفسّر المستخدم متوافق:
python3 --version
الصيغة العامة:
python3 CVE-2026-34910.py <target> [command] [options]
يجب أن يكون target عنوان URL ببروتوكول http:// أو https://، على سبيل المثال https://192.0.2.10:11443.
تشغيل الفحص دون إرسال أوامر إضافية:
python3 CVE-2026-34910.py https://192.0.2.10:11443 --check
تتم معاملة الوسيطة الموضعية الثانية كأمر يُرسل إلى الهدف. استخدم فقط الأوامر غير التدميرية المعتمدة:
python3 CVE-2026-34910.py https://192.0.2.10:11443 "id"
يطلب خيار --proof من الهدف إنشاء ملف إثبات في /tmp/PWNED_34910:
python3 CVE-2026-34910.py https://192.0.2.10:11443 --proof
تحقق من ملف الإثبات واحذفه عبر إجراءات الوصول المعتمدة. لا تعتبر استجابة HTTP 200 دليلاً وحيدًا على نجاح الأمر.
python3 CVE-2026-34910.py https://192.0.2.10:11443 --read /etc/hostname
يطبع السكربت 800 حرف كحد أقصى من استجابة الملف.
أضف --verbose أو -v لعرض تفاصيل الطلب والاستجابة:
python3 CVE-2026-34910.py https://192.0.2.10:11443 --check --verbose
لاحظ أن المخرجات التفصيلية قد تحتوي على عناوين URL أو معاملات أو بيانات استجابة حساسة.
| الخيار | الوصف |
|---|---|
target | عنوان URL الهدف ببروتوكول HTTP أو HTTPS |
command | الأمر الذي يتم اختباره عبر مسار CVE-2026-34910 |
--check | تشغيل فحص تجاوز المصادقة فقط |
--proof | طلب إنشاء ملف إثبات على الهدف |
--read PATH | اختبار قراءة الملف عبر اجتياز المسار |
-v, --verbose | عرض معلومات تصحيح إضافية |
-h, --help | عرض مساعدة الاستخدام |
استخدم وضع تشغيل واحد فقط في كل تنفيذ. يُرجع البرنامج رمز الخروج 0 إذا اعتُبرت العملية ناجحة، و1 إذا لم يظهر على الهدف مؤشر ضعف أو كانت الوسائط غير مكتملة، و2 إذا حدث خطأ غير متوقع. تؤدي مقاطعة المستخدم إلى إرجاع 130.
--check الاستجابة بحثًا عن علامة تشير إلى الوصول إلى المعالج.pkg_name ويرسلها إلى نقطة نهاية تحديث الحزم.--read اجتياز مسار نحو الاسم المستعار app-assets ويعرض الاستجابة بشكل محدود.التنفيذ موجود بالكامل في CVE-2026-34910.py.
200 في وضع RCE إلى أن المعالج استلم الطلب، وليست ضمانًا لاكتمال الأمر كما هو متوقع.بالنسبة للأجهزة الواقعة ضمن نطاق الاختبار:
يجب أن يتضمن تقرير الاختبار ما يلي:
للإبلاغ المسؤول عن الثغرات، استخدم القنوات الأمنية الرسمية للبائع ونسّق الكشف وفقًا للسياسات المعمول بها.
لم يتم تحديد ترخيص لهذا المشروع بعد. أضف ملف ترخيص قبل توزيع هذا الكود أو استخدامه في مشاريع أخرى.
Gagaltotal666 - GhostGTR666
المستودع ذو الصلة: github.com/gagaltotal