
# Tozed ZLT X300 5G CPE — تنفيذ كود عن بُعد بصلاحيات الجذر عبر محطة قاعدة مارقة SDR (CVE-2026-2035703, CWE-78, CVSS 9.8) — إفصاح منسّق
الحالة: تحت الإفصاح المنسق (فترة حظر 90 يومًا)
تاريخ الاكتشاف: 2026-08-08
الباحث: Muhammad Nadeem Danish (danish1162)
معرف CVE: CVE-2026-2035703
الخطورة: حرجة (CVSS 9.8)
CWE: CWE-78 (حقن أوامر نظام التشغيل)
يحتوي جهاز التوجيه Tozed ZLT X300 5G CPE على ثغرة حرجة في حقن الأوامر قابلة للاستغلال عبر الهواء من خلال محطة قاعدة LTE وهمية (SDR). يقوم عميل TR-069/CWMP الخاص بالجهاز (netcwmpd) بتمرير مدخلات غير معقّمة يتحكم بها الشبكة إلى أوامر الصدفة، مما يتيح تنفيذ كود عن بُعد بصلاحيات الجذر دون مصادقة.
يمكن للمهاجم الذي يشغّل راديو معرف برمجيًا (~300 دولار أمريكي) ضمن نطاق الراديو انتحال شخصية خادم ACS الخاص بمشغل الاتصالات وحقن أوامر صدفة عشوائية تُنفَّذ بصلاحيات الجذر على الجهاز المستهدف — دون أي مصادقة، أو تفاعل من المستخدم، أو وصول مادي.
جهاز SDR الخاص بالمهاجم (~300 دولار)
↓
محطة eNodeB LTE وهمية (srsRAN، نطاق تردد اختباري)
↓ أقوى إشارة → X300 يتصل تلقائيًا
EPC وهمي يعيّن عنوان IP (172.16.0.x)
↓
انتحال خادم TR-069 ACS (عبر DHCP Option 43)
↓
SetParameterValues: IPPingDiagnostics.Host = $(telnetd -l /bin/sh -p 4444)
↓
الجهاز ينفّذ: ping "$(telnetd -l /bin/sh -p 4444)" بصلاحيات الجذر
↓
صدفة جذر على المنفذ 4444 — uid=0(root) gid=0(root)
يقوم معالج IPPingDiagnostics في netcwmpd بتمرير معامل Host مباشرةً إلى سلسلة تنسيق sprintf التي تُنشئ أمر صدفة:
// تم فك تجميعه من netcwmpd عند 0x463E6C (IDA Pro)
sprintf(cmd,
"ping%s -c %d -s %d -W %u%s \"%s\" > /tmp/.tr069_pingtest.log",
ipv4_flag, repetitions, block_size, timeout, interface,
HOST); // HOST = معامل TR-069 غير معقّم
ثم يتم تنفيذ الأمر عبر system() بصلاحيات الجذر. لا يتم إجراء أي تحقق من صحة المدخلات على معامل Host — لا فلترة للأحرف، ولا فحص regex، ولا تحقق من الطول بما يتجاوز المخزن المؤقت البالغ 512 بايت.
يتم تقييم استبدال الأوامر $() داخل علامات الاقتباس المزدوجة بواسطة صدفة POSIX، مما يتيح تنفيذ أوامر عشوائية.
يتم نشر ZLT X300 من قبل مشغلي الاتصالات في:
الشرق الأوسط: du (الإمارات)، STC و Mobily (السعودية)، Zain (الكويت، البحرين)، Ooredoo و Omantel (عُمان)
أوروبا: EE، O2، Three (المملكة المتحدة)، Telekom (ألمانيا)، TIM (إيطاليا)، Free Mobile، SFR، Orange (فرنسا)
آسيا: Singtel (سنغافورة)، AIS (تايلاند)، Smart (الفلبين)، Telkomsel (إندونيسيا)
أفريقيا: MTN و Vodacom (جنوب أفريقيا)، MTN (نيجيريا)
كل جهاز على البرنامج الثابت الحالي معرّض للخطر.
تم إجراء جميع اكتشافات الثغرات من خلال التحليل الثابت للبرنامج الثابت باستخدام IDA Pro — فك تجميع ثنائيات ARM وتتبع مسارات تنفيذ الكود من مدخلات معامل TR-069 عبر sprintf إلى نقاط تنفيذ الصدفة.
تم إجراء جميع التحقق المباشر من الأجهزة واختبارات إثبات المفهوم في بيئة مختبر خاصة في باكستان، على معدات مملوكة شخصيًا، باستخدام بطاقة SIM اختبارية قابلة للبرمجة sysmocom sysmoISIM-SJA5 (بادئة IMSI 999 — شبكة اختبار محجوزة من ITU، وليست أي مشغل تجاري) على نطاق تردد غير مشغول (النطاق 7، 2655 ميجاهرتز — غير مستخدم من قبل مشغلي الإمارات). لم تتأثر أي شبكة تجارية حية، ولم يتم تضمين أجهزة مشتركين آخرين، ولم يتم إجراء أي إرسال على أي طيف تجاري مرخّص.
advisory/
TECHNICAL_REPORT.md تحليل كامل للثغرة مع فك تجميع IDA
VENDOR_ADVISORY.md إشعار منسّق للبائع
MITRE_CVE_REQUEST.md تفاصيل سجل CVE
ZTE_PSIRT_EMAIL.md سجل التواصل مع البائع
netcwmpd في IDA Pro أو Ghidraprocess_ping عند العنوان 0x463A14Host من TR-069 SetParameterValues عبر sprintf إلى أمر الصدفةsystem()لا تمتلك الشركة المصنعة (Tozed Kangwei) فريق استجابة لحوادث أمن المنتجات (PSIRT). جاءت جميع المراسلات من قسم التسويق العالمي لديهم. ادّعوا أن الثغرة "أُصلحت بالفعل" لكنهم لم يتمكنوا من تقديم رقم CVE أو إصدار برنامج ثابت مُصحَّح أو نشرة أمنية. لا يوجد أي سجل عام لأي إصلاح سابق على NVD أو OpenCVE أو CVE Details أو منشورات الشركة المصنعة نفسها.
تم إجراء جميع الأبحاث على أجهزة مملوكة شخصيًا في مختبر خاص باستخدام بيانات اعتماد شبكة اختبار محجوزة من ITU (MCC 999). لا وصول غير مصرح به لأي نظام. لم تتأثر أي شبكة تجارية حية. الإفصاح المنسق قيد التنفيذ.
يتم توفير هذا البحث لأغراض الاختبار الأمني المصرح به ومعالجة الثغرات من قبل البائعين والبحث الأكاديمي فقط. ليس للوصول غير المصرح به أو الاستخدام الخبيث.
| الحقل | القيمة |
|---|
| الشركة المصنعة | Tozed Kangwei Tech Co., Ltd (شنتشن، الصين) |
| الطراز | ZLT X300 / X300A 5G CPE Router |
| البرنامج الثابت | 6.01.3 (تم اختباره) — يُعتقد أنه يؤثر على جميع إصدارات البرنامج الثابت |
| البنية | aarch64 (MediaTek MT7992) |
| نظام التشغيل | OpenWrt 23.05.5، نواة Linux 5.15.167 |
| المكوّن | netcwmpd (خفيّة CWMP) |
| الموزّع | du / EITC (شركة الإمارات للاتصالات المتكاملة)، الإمارات العربية المتحدة |
| التاريخ | الإجراء |
|---|
| 2026-08-08 | اكتشاف الثغرة عبر التحليل الثابت للبرنامج الثابت |
| 2026-08-14 | الإبلاغ إلى الشركة المصنعة (Tozed Kangwei) و MITRE |
| 2026-08-14 | تعيين CVE-2026-2035703 من قبل MITRE |
| 2026-08-22 | ادّعت الشركة المصنعة (قسم التسويق، لا يوجد PSIRT) أنها "أصلحت بالفعل" — دون تقديم أي دليل |
| 2026-08-24–25 | سألت الشركة المصنعة عن بطاقة SIM 3 مرات بدلاً من الإجابة على الأسئلة الفنية |
| 2026-08-26 | التصعيد إلى ZTE PSIRT ([email protected]) |
| 2026-08-27 | رفضت الشركة المصنعة التعامل — "تواصل مع البائع الخاص بك" |
| 2026-08-29 | أكد ZTE PSIRT: "ليس منتج ZTE" — رفض المسؤولية |
| 2026-08-29 | التصعيد إلى CERTs الوطنية |
| 2026-11-14 | الإفصاح العام المخطط له (90 يومًا من التقرير الأولي) |