Apache ActiveMQ Classic contains an authenticated remote code execution vulnerability in its Jolokia JMX-HTTP bridge exposed through the web console. The issue affects Apache ActiveMQ Broker before 5.19.4 and from 6.0.0 before 6.2.3. An authenticated attacker can supply a crafted URI to broker management operations, causing the broker to load a malicious remote Spring XML configuration and execute arbitrary code within the JVM.
This vulnerability was discovered by Horizon3.ai and reflects a deeper issue that has effectively existed for over a decade, emerging from the interaction of multiple legitimate features rather than a single coding flaw.
On affected versions where Jolokia is exposed without authentication (CVE-2024-32114), this vulnerability can be exploited without credentials, enabling unauthenticated remote code execution.
CVE-2026-34197 is an authenticated code injection vulnerability in Apache ActiveMQ Classic’s exposure of the Jolokia JMX-HTTP bridge at /api/jolokia/.
The Jolokia endpoint allows execution of MBean operations. By default, it permits exec access to ActiveMQ MBeans, including:
BrokerService.addNetworkConnector(String)BrokerService.addConnector(String)These operations accept a URI as input. An attacker can supply a crafted URI using the xbean: protocol, which causes ActiveMQ to load a remote Spring XML application context.
This exposure stems from prior hardening changes that restricted Jolokia access broadly while allowing unrestricted operations on ActiveMQ MBeans, unintentionally exposing dangerous functionality.
The exploit chain works as follows:
addNetworkConnector through Jolokiavm:// URI is supplied with brokerConfig=xbean:http://...Runtime.exec()The result is arbitrary code execution as the ActiveMQ service user.
This vulnerability becomes significantly more dangerous when combined with:
admin:admin)An attacker who reaches the web console can move directly to code execution and full host compromise.
A Rapid Response test for CVE-2026-34197 enables organizations to quickly validate whether their Apache ActiveMQ Classic environment is actually exploitable.
Version checks don’t tell you if you’re exposed. This test does.
At the time of publication, no vendor-provided indicators of compromise have been released. However, exploitation leaves clear and high-signal traces.
| Indicator | Type | Description |
/api/jolokia/ requests | HTTP activity | Suspicious POST requests invoking exec operations on ActiveMQ MBeans |
addNetworkConnector usage | Application behavior | Invocation with unexpected or external URIs |
vm://...brokerConfig=xbean:http:// | Log artifact | Strong indicator of exploitation attempt loading remote Spring XML |
| Outbound HTTP requests | Network activity | Connections from the broker to attacker-controlled infrastructure |
| Unexpected process execution | Host behavior | Child processes spawned by the ActiveMQ Java process |
Note: Code execution occurs during the connection attempt. Error or failure messages in logs may appear after the payload has already executed.
Affected:
activemq-all before 5.19.4activemq-all from 6.0.0 before 6.2.3Patch:
The patch removes the ability for addNetworkConnector to instantiate vm:// transports, eliminating the code execution path.
Interim mitigation: