CVE-2023-50780: MBeans خطيرة يمكن الوصول إليها عبر واجهة Jolokia API في Apache ActiveMQ Artemis
من خلال سرد وتفقد MBeans المكشوفة بواسطة Jolokia API على http://127.0.0.1:8161/console/jolokia تم تحديد نواقل الهجوم التالية:
- كتابة ملف عشوائي باستخدام Log4J تؤدي بشكل غير مباشر إلى تنفيذ أكواد عن بعد
- قراءة ملف عشوائي باستخدام Log4J
- هجوم حجب الخدمة (DoS) باستخدام MBeans الوسيط Artemis
يمكن استغلال هذه الثغرة من قبل مهاجم محلي يعرف بيانات اعتماد المصادقة الأساسية المستخدمة من قبل واجهة الويب الخاصة بـ Artemis.
ملاحظة: إذا تم ضبط الخادم مع "--allow-anonymous"، فيمكن استخدام أي مجموعة اسم مستخدم وكلمة مرور غير فارغة للمصادقة.
إفادة البائع:
يمكن العثور على إفادة البائع لهذه الثغرة هنا.
المتطلبات:
تتطلب هذه الثغرة:
- بيانات اعتماد صالحة لمستخدم بدور "admin" (إذا كانت المصادقة مطلوبة)
إثبات المفهوم:
نظراً لأنه تم تحديد نواقل هجوم متعددة، يمكنك العثور على مزيد من التفاصيل وعمليات الاستغلال ذات الاهتمام في واحد أو أكثر من ملفات PDF التالية:
- التقرير الأولي الذي تم إرساله إلى البائع: Apache Artemis - CVE-2023-50780 - Initial Report.pdf. يتطلب ناقل استغلال تنفيذ الأكواد عن بعد (RCE):
- القدرة على الكتابة فوق ملف "broker.xml" كمستخدم يقوم بتشغيل خادم الويب
- إعادة تشغيل تطبيق Artemis بالكامل لكي تدخل تغييرات "broker.xml" حيز التنفيذ (على الرغم من أنه يمكننا استغلال وظيفة
forceFailover() لإغلاق التطبيق، إلا أننا سنظل بحاجة إلى تفاعل المستخدم من المسؤول لإعادة تشغيله)
- Apache Artemis - CVE-2023-50780 - WAR + Restart Vector.pdf. يتطلب ناقل استغلال تنفيذ الأكواد عن بعد (RCE):
- القدرة على الكتابة فوق أحد ملفات WAR التي تم تحميلها بواسطة Artemis (مثل "activemq-branding.war" أو "artemis-plugin.war" أو "console.war") كمستخدم يقوم بتشغيل خادم الويب
- إعادة تشغيل خادم الويب المضمن Jetty عبر وظيفة
restartEmbeddedWebServer() (لا حاجة لتفاعل المستخدم حيث يمكن استدعاء هذه الوظيفة مباشرة بواسطة المهاجم عبر MBean الوسيط Artemis)
- Apache Artemis - CVE-2023-50780 - JAR + jvmtiAgentLoad.pdf. يتطلب ناقل استغلال تنفيذ الأكواد عن بعد (RCE):
- القدرة على كتابة ملفات في مكان ما على نظام الملفات (مثل "/tmp" أو "/dev/shm" أو "C:\Windows\Public" وما إلى ذلك) والاستفادة من Log4J لكتابة JAR عشوائي إلى هذا الموقع
- تحميل JAR المعني والحصول على تنفيذ الأكواد عن بعد عبر وظيفة
jvmtiAgentLoad([Ljava.lang.String;)
موارد إضافية:
تدوينة بواسطة Xu "pyn3rd "Yuanzhen تشرح كيف يمكن استخدام كتابة JAR عشوائي + Jolokia للحصول على تنفيذ الأكواد عن بعد
الجدول الزمني:
- تم الإبلاغ عن هذه الثغرة لأول مرة إلى [email protected] في 14 فبراير 2023
- يكشف Apache عن CVE-2023-50780 في 14 أكتوبر 2024
- تم الكشف علناً عن التقرير الأولي والثغرات الأخرى في 18 ديسمبر 2024