CVE-2023-50780: Apache ActiveMQ Artemis में Jolokia API के माध्यम से सुलभ खतरनाक MBeans
Jolokia API द्वारा http://127.0.0.1:8161/console/jolokia पर उजागर किए गए MBeans को सूचीबद्ध और निरीक्षण करके निम्नलिखित हमले के वैक्टर की पहचान की गई है:
- Log4J का उपयोग करके अप्रत्यक्ष रूप से मनमाना फ़ाइल लिखना जिसके परिणामस्वरूप दूरस्थ कोड निष्पादन होता है
- Log4J का उपयोग करके मनमाना फ़ाइल पढ़ना
- Artemis Broker MBeans का उपयोग करके DoS
इस कमजोरी का शोषण एक स्थानीय हमलावर द्वारा किया जा सकता है जो Artemis वेब इंटरफ़ेस द्वारा उपयोग की जाने वाली बुनियादी प्रमाणीकरण क्रेडेंशियल्स जानता है।
नोट: यदि सर्वर "--allow-anonymous" के साथ सेट किया गया है, तो कोई भी गैर-शून्य उपयोगकर्ता-पासवर्ड संयोजन प्रमाणीकरण के लिए उपयोग किया जा सकता है।
विक्रेता प्रकटीकरण:
इस कमजोरी के लिए विक्रेता का प्रकटीकरण यहां पाया जा सकता है।
आवश्यकताएँ:
इस कमजोरी के लिए आवश्यक है:
- "admin" भूमिका वाले उपयोगकर्ता के लिए वैध क्रेडेंशियल्स (यदि प्रमाणीकरण आवश्यक है)
अवधारणा का प्रमाण:
चूंकि कई हमले के वैक्टर की पहचान की गई है, आप निम्नलिखित PDF में से एक या अधिक में रुचि के विवरण और शोषण प्रक्रियाएं पा सकते हैं:
- विक्रेता को भेजी गई प्रारंभिक रिपोर्ट: Apache Artemis - CVE-2023-50780 - Initial Report.pdf। RCE वेक्टर के लिए आवश्यक है:
- वेब सर्वर चलाने वाले उपयोगकर्ता के रूप में "broker.xml" फ़ाइल को अधिलेखित करने की क्षमता
- "broker.xml" परिवर्तनों को प्रभावी करने के लिए संपूर्ण Artemis एप्लिकेशन को पुनरारंभ करना (हालांकि हम एप्लिकेशन को बंद करने के लिए "forceFailover()" फ़ंक्शन का लाभ उठा सकते हैं, फिर भी हमें इसे पुनरारंभ करने के लिए प्रशासक से उपयोगकर्ता इंटरैक्शन की आवश्यकता होगी)
- Apache Artemis - CVE-2023-50780 - WAR + Restart Vector.pdf। RCE वेक्टर के लिए आवश्यक है:
- वेब सर्वर चलाने वाले उपयोगकर्ता के रूप में Artemis द्वारा लोड की गई WAR फ़ाइलों में से एक (जैसे "activemq-branding.war", "artemis-plugin.war" या "console.war") को अधिलेखित करने की क्षमता
- "restartEmbeddedWebServer()" फ़ंक्शन के माध्यम से एम्बेडेड Jetty वेबसर्वर को पुनरारंभ करना (किसी उपयोगकर्ता इंटरैक्शन की आवश्यकता नहीं है क्योंकि यह फ़ंक्शन हमलावर द्वारा सीधे Artemis Broker MBean के माध्यम से कॉल किया जा सकता है)
- Apache Artemis - CVE-2023-50780 - JAR + jvmtiAgentLoad.pdf। RCE वेक्टर के लिए आवश्यक है:
- फ़ाइल सिस्टम पर कहीं (जैसे "/tmp", "/dev/shm", "C:\Windows\Public", आदि) फ़ाइलें लिखने और उस स्थान पर एक मनमाना JAR लिखने के लिए Log4J का लाभ उठाने की क्षमता
- संबंधित JAR लोड करना और "jvmtiAgentLoad([Ljava.lang.String;)" फ़ंक्शन के माध्यम से RCE प्राप्त करना
अतिरिक्त संसाधन:
Xu "pyn3rd "Yuanzhen द्वारा ब्लॉगपोस्ट जिसमें बताया गया है कि कैसे JAR मनमाना लिखना + Jolokia का उपयोग RCE प्राप्त करने के लिए किया जा सकता है
समयरेखा:
- यह कमजोरी प्रारंभ में 14-फरवरी-2023 को [email protected] पर रिपोर्ट की गई थी
- Apache ने 14-अक्टूबर-2024 को CVE-2023-50780 का खुलासा किया
- 18-दिसंबर-2024 को प्रारंभिक रिपोर्ट और अन्य वैक्टर सार्वजनिक रूप से प्रकट किए गए