GitHub Advisoryadvisory · Maven

GHSA-53v4-42fg-g287 Apache ActiveMQ Deserialization of Untrusted Data vulnerability

HIGH Published 2023-11-28 Modified 2025-11-04 Official page ↗
Aliases
CVE-2022-41678
Ecosystem
Maven
Packages
org.apache.activemq:apache-activemq
Severity
High
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Weaknesses
CWE-287, CWE-502
Reviewed
2023-11-28

Affected packages

• Maven org.apache.activemq:apache-activemq: < 5.16.6 → fixed in 5.16.6 • Maven org.apache.activemq:apache-activemq: >= 5.17.0, < 5.17.4 → fixed in 5.17.4

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.

Related

Alias · CVE (1)

  • CVE-2022-41678 Once an user is authenticated on Jolokia, he can potentially trigger arbitrary code execution. vulnerability

Weakness · CWE (2)

  • CWE-287 Improper Authentication weakness
  • CWE-502 Deserialization of Untrusted Data weakness

References