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 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.
Remediation
References
https://activemq.apache.org/security-advisories.data/CVE-2022-41678-announcement.txt
https://lists.apache.org/thread/7g17kwbtjl011mm4tr8bn1vnoq9wh4sl
https://security.netapp.com/advisory/ntap-20240216-0004/
https://www.openwall.com/lists/oss-security/2023/11/28/1
Related Vulnerabilities
CVE-2023-29471 Vulnerability in maven package com.typesafe.akka:akka-stream-kafka
CVE-2021-25122 Vulnerability in maven package org.apache.tomcat.embed:tomcat-embed-core
CVE-2021-26272 Vulnerability in npm package ckeditor4-dev
CVE-2022-23710 Vulnerability in maven package org.elasticsearch:elasticsearch
CVE-2022-41929 Vulnerability in maven package org.xwiki.platform:xwiki-platform-oldcore