CVE-2026-34197Apache ActiveMQ Broker 存在输入验证不当和代码注入漏洞。该漏洞源于 Jolokia JMX-HTTP 桥接器的默认访问策略允许对 ActiveMQ MBeans 执行操作。已认证的攻击者可调用 `BrokerService.addNetworkConnector` 或 `BrokerService.addConnector` 方法,并传入特制的发现 URI。该 URI 触发 VM 传输的 `brokerConfig` 参数加载远程 Spring XML 应用上下文。由于 Spring 在 BrokerService 验证配置之前会实例化所有单例 Bean,攻击者可利用 Bean 工厂方法(如 `Runtime.exec()`)在 Broker 的 JVM 上执行任意代码。
该漏洞的核心在于 ActiveMQ 暴露的 Jolokia 接口(/api/jolokia/)默认允许对 `org.apache.activemq:*` 域下的 MBean 执行 `exec` 操作。攻击者首先需要具备 web console 的低权限认证凭证。随后,攻击者构造恶意 Jolokia 请求,目标指向 `BrokerService` MBean 的 `addNetworkConnector` 或 `addConnector` 方法。参数是一个包含 VM 传输协议的 URI,其中 `brokerConfig` 参数指向攻击者控制的远程 Spring XML 文件。当 ActiveMQ 处理此请求时,会尝试通过 `ResourceXmlApplicationContext` 加载该配置。关键风险在于 Spring 框架在实例化 Bean 阶段会立即执行初始化逻辑,早于 ActiveMQ 对配置内容的安全校验。因此,攻击者在 XML 中定义的包含恶意系统命令的 Bean 会被立即执行,从而导致服务器被完全控制。