| Title | Apache ActiveMQ < 5.16.5/5.17.3 - Remote Code Execution |
|---|---|
| Author | maciejklimek |
| Severity | High |
| Impact | Authenticated attackers can execute arbitrary code on the server, potentially leading to full system compromise. |
| Remediation | Restrict or disable Jolokia, and upgrade to ActiveMQ version 5.16.6, 5.17.4, 5.18.0, or 6.0.0 with updated Jolokia configuration. |
| CVSS Score | 8.8 |
| EPSS Score | 0.93 |
| CVE ID | CVE-2022-41678 |
| CWE ID | CWE-502 |
| Shodan Query | http.title:"ActiveMQ" |
| Fofa Query | title="ActiveMQ" |
| Tags | cve cve2022 activemq rce jolokia authenticated |
Once an user is authenticated on Jolokia, he can potentially trigger arbitrary code execution. In details, in ActiveMQ configurations, jetty allows org.jolokia.http.AgentServlet to handler request to /api/jolokia org.jolokia.http.HttpRequestHandler#handlePostRequest is able to create JmxRequest through JSONObject. And calls to org.jolokia.http.HttpRequestHandler#executeRequest. Into deeper calling stacks, org.jolokia.handler.ExecHandler#doHandleRequest can be invoked through refection. This could lead to RCE through via various mbeans. One example is unrestricted deserialization in jdk.management.jfr.FlightRecorderMXBeanImpl which exists on Java version above 11. 1 Call newRecording. 2 Call setConfiguration. And a webshell data hides in it. 3 Call startRecording. 4 Call copyTo method. The webshell will be written to a .jsp file. The mitigation is to restrict (by default) the actions authorized on Jolokia, or disable Jolokia. A more restrictive Jolokia configuration has been defined in default ActiveMQ distribution. We encourage users to upgrade to ActiveMQ distributions version including updated Jolokia configuration: 5.16.6, 5.17.4, 5.18.0, 6.0.0.
GET /api/jolokia/list/org.apache.logging.log4j2 HTTP/1.1
Host: www.victim.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:104.0) Gecko/20100101 Firefox/104.0
Connection: close
Authorization: Basic YWRtaW46YWRtaW4=
Origin: /
Accept-Encoding: gzip
🔗 Nuclei Template: https://github.com/packetinside/nuclei-templates/blob/main/http/cves/2022/CVE-2022-41678.yaml
🦈 Packet Capture: ⬇️ Download cve-2022-41678.pcap
N/AN/A