Description
Apache ActiveMQ 是美国 Apache 软件基金会开发的一套开源的消息中间件,它支持 Java 消息服务(JMS)规范,并提供了多种语言和协议的客户端 API,支持点对点、发布/订阅等消息传递模式,广泛应用于企业级应用系统集成、异步处理、事件驱动架构等场景。Apache ActiveMQ Classic 在 Web 控制台的 /api/jolokia/ 路径暴露了 Jolokia JMX-HTTP 桥接接口,默认的 Jolokia 访问策略允许对所有 ActiveMQ MBean(org.apache.activemq:*)执行 exec 操作,包括 BrokerService.addNetworkConnector(String)。已认证的攻击者可通过构造恶意 masterslave:// URI 调用该操作,触发 VM transport 的 brokerConfig 参数加载远程 Spring XML 应用上下文,由于 Spring 的 ResourceXmlApplicationContext 在 BrokerService 校验配置之前实例化所有单例 Bean,攻击者可通过 Bean 工厂方法(如 Runtime.exec())在 Broker JVM 中执行任意代码,从而获取服务器权限。