🚨 تنفيذ التعليمات البرمجية عن بعد (RCE) غير المصادق عليه عبر رفع الملفات
📌 نظرة عامة
- المشروع: QloApps
- المستودع: https://github.com/Qloapps/QloApps
- الإصدار(ات) المتأثرة: <= 1.7.0
- فئة الثغرة: تنفيذ التعليمات البرمجية عن بعد غير المصادق عليه
- الخطورة: حرجة
- CVSS v3.1: (حرجة) 9.8 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- معرف CVE: CVE-2025-67325
- اكتشف بواسطة: Neakk Pornlur
- تاريخ الإفصاح: 2026-01-09
🧩 الوصف
يسمح رفع الملفات غير المقيد في ميزة مراجعة الفندق في QloApps الإصدارات 1.7.0 والأقدم للمهاجمين غير المصادق عليهم عن بعد بتحقيق تنفيذ التعليمات البرمجية عن بعد.
🎯 النقطة المتأثرة
/module/qlohotelreview/default
⚠️ السبب الجذري
توجد الثغرة بسبب:
- التحقق المفقود من امتداد الملف.
- يتم تنفيذ الملفات المرفوعة مباشرة بواسطة الخادم.
- لا يتم فرض أي فحوصات للمصادقة أو التفويض على النقطة.
🔥 التأثير
يسمح الاستغلال الناجح للمهاجم بـ:
- تنفيذ أوامر نظام تشغيل عشوائية.
- قراءة/كتابة/حذف ملفات الخادم الحساسة.
- الوصول إلى بيانات اعتماد قاعدة البيانات.
- التنقل إلى خدمات الشبكة الداخلية.
- اختراق الخادم المستضيف بالكامل.
تؤدي هذه الثغرة إلى فقدان كامل للسرية والنزاهة والتوفر (ثلاثية CIA).
🛠️ إثبات المفهوم (PoC) على إصدار QloApps 1.7.0
نحتاج إلى id_order صالح وAjax token لتقديم طلب إلى النقطة الضعيفة. بالنسبة إلى id_order نقوم بتجربة يدوية (bruteforce) بدءًا من 1 أو نقوم بإنشاء حساب ضيف وحجز غرفة للحصول على هذا id_order. بالنسبة إلى Ajax token يمكننا الحصول عليه من أي صفحة غرفة في الفندق.
1. الحصول على Ajax Token
2. مراجعة فندق ورفع صورة مهندسة مع شل ويب PHP خاصة بنا.
3. تشغيل تنفيذ التعليمات البرمجية عن بعد
يمكننا العثور على شل الويب المرفوعة لدينا على الرابط https://target.com/modules/qlohotelreview/views/img/review/<id_order>/1.php
