Severity: Medium Affected versions:
- Apache ActiveMQ before 5.16.6 - Apache ActiveMQ 5.17.0 before 5.17.4 - Apache ActiveMQ 5.18.0 unaffected - Apache ActiveMQ 6.0.0 unaffected Description: 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 is able to invoke through refection. And then, RCE is able to be achieved via 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. This issue is being tracked as AMQ-9201 Credit: wang...@threatbook.cn (finder) wangzhend...@threatbook.cn (finder) honglongl...@threatbook.cn (finder) References: https://activemq.apache.org/ https://www.cve.org/CVERecord?id=CVE-2022-41678 https://issues.apache.org/jira/browse/AMQ-9201