
Apache OpenMeetings 9.1.0 - عالية الخطورة - عن بُعد - KMS بدون مصادقة - ينشر docs docker واجهة Kurento JSON-RPC على المنفذ 8888
abraxaslabs.tech · github.com/abraxas · @abraxas_null · [email protected] · openmeetings-kms-unauth
الفئة: KMS بدون مصادقة الوصول: عن بُعد
Apache OpenMeetings 9.1.0 (9773c59e) - مؤسسة Apache للبرمجيات
يضبط OpenMeetings Java القيمة الافتراضية لـ kurento.ws.url على loopback. ينشر ملف InstallMediaServer.md الرسمي Kurento باستخدام docker -p 8888:8888. لا توجد مصادقة على JSON-RPC هذا. يؤدي connect عبر WebSocket دون مصادقة مع invoke manager_ServerManager.getInfo إلى إرجاع Kurento 7.3.0.
| المعرّف | لا يوجد CVE بعد |
| الفئة | KMS بدون مصادقة |
| الوصول | عن بُعد (JSON-RPC دون مصادقة على المنفذ 8888 المنشور) |
| CWE | CWE-306 |
| CVSS | عالٍ: 8.6 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:L |
| المنتج | Apache OpenMeetings + Kurento 7.3.0 |
| المتأثر | نشر 9.1.0 للوثائق/docker لـ KMS 8888 |
| المصادقة | لا شيء على Kurento JSON-RPC |
| الترخيص | GNU Affero GPL v3.0 |
| المختبر | 127.0.0.1:18164 فقط. kurento/kurento-media-server:7.3.0 وفق مسار النشر في الوثائق. |
ثبّتت الوسم 9.1.0. يتطلب هذا الإصدار KMS 7.3.0+.
الوصول إلى منفذ Kurento المنشور. لا يوجد ترويسة Authorization. طلب HTTP POST مخصص لـ WebSocket فقط (426). يقوم ws://host:8888/kurento بالترقية 101.
| الطريقة | الهدف | الامتياز |
|---|---|---|
ping دون مصادقة | Kurento JSON-RPC | استطلاع (مُثبت مختبريًا): pong. |
connect دون مصادقة | إنشاء جلسة | سلامة (مُثبت مختبريًا): sessionId دون أي سر. |
invoke manager_ServerManager.getInfo دون مصادقة | ServerInfo | استطلاع (مُثبت مختبريًا): الإصدار 7.3.0، قائمة الوحدات (chroma/core/...). |
PlayerEndpoint / RecorderEndpoint دون مصادقة (نفس المقبس) | عناصر وسائط KMS | استطلاع / سلامة (مُستنتج): جلب HTTP/ملفات بصلاحيات UID الخاص بـ KMS؛ إنشاء/تدمير خطوط المعالجة. لم يُجرَّب. اقتصر المختبر على getInfo. |
مُثبت مختبريًا مقابل مُستنتج: ping وconnect وgetInfo مختبريًا. أما SSRF عبر PlayerEndpoint وDoS على خطوط المعالجة فمُستنتجان من JSON-RPC دون مصادقة.
يتطلب: نشر KMS على الشبكة بالطريقة التي يوضحها InstallMediaServer.md (-p 8888:8888). القيمة الافتراضية loopback في OM Java آمنة إلى أن يتم ذلك النشر.
| السطح | السبب |
|---|---|
القيمة الافتراضية kurento.ws.url في OM Java | loopback. هذه البقايا هي نشر الوثائق، وليست القيمة الافتراضية في Java. |
/openmeetings في OM دون SID | لا يزال Wicket/CXF يطلبان جلسة للغرف. |
HTTP POST إلى /kurento دون Upgrade | 426. JSON-RPC هو WebSocket. |
تبدأ صورة apache/openmeetings:9.1.0 الكاملة تشغيل kurento-media-server على 0.0.0.0:8888 دون مصادقة JSON-RPC، ثم قد تفشل تلك الحاوية في تشغيل catalina بصلاحيات nobody دون JAVA_HOME. البقايا التي تعلّمها الوثائق هي نشر KMS المستقل. اختبرت kurento/kurento-media-server:7.3.0 مع 127.0.0.1:18164:8888.
cd lab
./run.sh
Loopback ws://127.0.0.1:18164/kurento. السطر الأخير من الشاهد:
SUCCESS OPENMEETINGS-KMS-UNAUTH-WITNESS
لا تنشر المنفذ 8888 على واجهة عامة. اربط KMS بـ loopback أو بشبكة compose خاصة. ضع رمز مصادقة على JSON-RPC (Kurento secureKms / وكيل عكسي). غيّر مثال دليل التثبيت بعيدًا عن -p 8888:8888.
Abraxas Labs - https://abraxaslabs.tech - https://github.com/abraxas - https://x.com/abraxas_null - [email protected]
المورّد: [email protected]