
Apache OpenMeetings 9.1.0 - High - Remote - IDOR - dashboard chatTab-u{id} يصدّر الدردشة الخاصة لمستخدم آخر
abraxaslabs.tech · github.com/abraxas · @abraxas_null · [email protected] · openmeetings-chat-user-idor
الفئة: IDOR الوصول: عن بُعد
Apache OpenMeetings 9.1.0 (9773c59e). أي جلسة ROOM/DASHBOARD تُصدِّر محادثة خاصة لمستخدم آخر عبر تعيين activeTab=chatTab-u{id}. فرع المستخدم في ChatToolbar هو u -> true. أزرار الحفظ/الحذف مرئية للمشرف فقط؛ بينما AjaxDownloadBehavior مسجَّل على شريط الأدوات نفسه.
| المعرّف | لا يوجد CVE بعد |
| الفئة | IDOR |
| الوصول | عن بُعد (لوحة تحكم Wicket موثَّقة) |
| CWE | CWE-639 |
| CVSS | عالٍ: 7.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N |
| المنتج | Apache OpenMeetings 9.1.0 |
| المصادقة | LOGIN + DASHBOARD (التسجيل الافتراضي) |
| الترخيص | GNU Affero GPL v3.0 |
| المختبر | 127.0.0.1:18151 فقط |
| الطريقة | نقطة الوصول | الصلاحية |
|---|---|---|
تنزيل محادثة Wicket activeTab=chatTab-u{victimId} | فرع المستخدم في ChatToolbar u -> true (ChatToolbar.java:87-94, 134-138) | استطلاع (مُثبَت مختبريًا): ملف CSV للرسائل المباشرة. المختبر: "Vic User",...,"OPENMEETINGS-CHAT-IDOR-WITNESS". |
نفس activeTab مع زر الحذف AjaxButton | chatDao.deleteUser(id) (ChatToolbar.java:208-212) | سلامة البيانات (استنتاجي): محو صندوق الوارد ذلك. كان التصدير هو دليل النجاح (SUCCESS oracle). |
مغلق: التصدير العام/تصدير الغرفة لا يزال يتطلب مشرفًا أو مشرف غرفة. الطرد/كتم الجميع ليسا ضمن هذا الاستدعاء.
cd lab
./run.sh
السطر الأخير: SUCCESS OPENMEETINGS-CHAT-IDOR-WITNESS
الإصلاح المقترح: يجب أن يكون التنزيل/الحذف في فرع المستخدم u.getId().equals(getUserId()) أو للمشرف. لا تُسجِّل AjaxDownloadBehavior لأزرار المشرف المخفية.
Abraxas Labs - https://abraxaslabs.tech - https://github.com/abraxas - https://x.com/abraxas_null - [email protected]
المورّد: [email protected]