
PoC لـ CVE-2026-48907 - إضافة JCE في Joomla! < 2.9.99.5 ثغرة تنفيذ كود عن بُعد بدون مصادقة
⚠️ هذا المستودع مخصص لأغراض تعليمية وأمنية دفاعية فقط. اختبر فقط على الأنظمة التي تملكها أو التي لديك إذن صريح بتقييمها. لا تستخدم هذا المشروع ضد أنظمة طرف ثالث.
يتناول إثبات المفهوم هذا CVE-2026-48907، وهي ثغرة تنفيذ تعليمات برمجية عن بُعد (RCE) غير موثّقة تؤثر على إصدارات Joomla Content Editor (JCE) حتى 2.9.99.4.
يستغل هذا الثغرة غياب المصادقة والتحقق في وظيفة استيراد الملفات الشخصية في JCE،
ويختلف عن إثبات المفهوم الأصلي لـ BIBIL_0DAY، حيث يعتمد على حقيقة أن استيراد الملفات الشخصية في JCE يخزّن ملف الملف الشخصي المُرفع في tmp/، دون مصادقة أو تحقق من تنسيق الملف أو محتواه. وبما أن التكوين الافتراضي لـ Joomla يسمح بتنفيذ PHP من مجلد tmp/، فإن هذا يؤدي إلى مسار RCE مباشر.
يمكن تخفيف هذا المتجه بسهولة عن طريق تقييد تنفيذ PHP أو حتى الوصول العام إلى مجلد tmp/.
يُنصح مستخدمو Joomla بتقوية تكوين خادم الويب الخاص بهم وتحديث JCE إلى >=2.9.99.5.
vulnerable/ – docker-compose ينشر مثيل Joomla باستخدام صورة Docker الرسمية joomla:latest ويقوم بتثبيت JCE 2.9.99.4 (الإصدار الضعيف). يستمع على 127.0.0.1:9999patched/ – docker-compose ينشر مثيل Joomla باستخدام صورة Docker الرسمية joomla:latest ويقوم بتثبيت JCE 2.9.99.5 (الإصدار المُصحح). يستمع على 127.0.0.1:9999التشغيل
docker compose -f vulnerable/docker-compose.yaml up
python3 poc.py
يُنتج
{"success":true,"message":"","messages":{"info":["0 Profile(s) imported successfully"]},"data":{"redirect":"\/index.php\/component\/jce?view=profiles"}}
>> 3105
[!!!!!] PHP payload was executed ! Server is vulnerable to cve-2026-48907 !
يهدف هذا المشروع إلى مساعدة الباحثين والمدافعين والمسؤولين على فهم الثغرة والتحقق من جهود المعالجة في بيئة خاضعة للتحكم. لا يتحمل المؤلفون أي مسؤولية عن أي إساءة استخدام لهذه المادة.