
Apache ActiveMQ Classic 近日披露了一个存在十多年未被发现的严重远程代码执行(RCE)漏洞。值得关注的是,这个漏洞并非由传统的人工代码审计发现,而是 Anthropic 公司的 Claude AI 模型在不到 10 分钟内识别出来的,这无疑为我们展示了AI辅助安全研究的新潜力。
该漏洞编号为 CVE-2026-34197,属于输入验证不当和代码注入漏洞,存在于 Apache ActiveMQ Classic 的 Jolokia JMX-HTTP 桥接组件中,通过 8161 端口的 /api/jolokia/ 网络控制台暴露。
漏洞利用机制
攻击者在通过身份验证后,可以调用代理 MBean 上的 addNetworkConnector(String) 管理操作,并构造一个包含攻击者控制的 brokerConfig=xbean:http:// 参数的 VM 传输 URI。
当 ActiveMQ 的 VM 传输层处理该 URI 时,会通过调用 BrokerFactory.createBroker() 使用攻击者提供的 URL 动态创建一个嵌入式代理。xbean: 方案随后将 URL 传递给 Spring 的 ResourceXmlApplicationContext,该组件会实例化远程 XML 文件中的所有 bean 定义。最终,攻击链通过 Spring 的 MethodInvokingFactoryBean 调用 Runtime.getRuntime().exec(),从而实现任意操作系统命令执行。

漏洞根源与影响范围
这个漏洞的根源可以追溯至对早期漏洞 CVE-2022-41678 的修复措施。当时,为了保留必要的网络控制台功能,Apache 为 ActiveMQ 自有 MBeans(org.apache.activemq:*)的所有操作添加了全局 Jolokia 允许规则。然而,这一决策无意中通过 Jolokia 的 REST API 开放了包括 addNetworkConnector 在内的所有管理操作,极大地扩展了攻击面。
虽然 CVE-2026-34197 在多数部署环境中需要有效凭证才能利用,但企业环境中普遍存在的默认凭证(如 admin:admin)大大降低了攻击门槛。更严重的是,对于运行 6.0.0 至 6.1.1 版本 ActiveMQ 的组织,还存在一条完全无需认证的 RCE 攻击路径。这是由于另一个漏洞 CVE-2024-32114 意外移除了这些版本中 /api/* 路径的身份验证约束,使得 Jolokia 端点无需任何凭证即可被访问。
历史背景与发现过程
ActiveMQ 在现实世界的攻击中拥有丰富的被利用历史,例如 CVE-2016-3088(通过网络控制台的认证 RCE)和 CVE-2023-46604(通过代理端口的未认证 RCE),这些漏洞均被列入 CISA 已知被利用漏洞(KEV)目录。
Horizon3.ai 的研究人员证实,本次漏洞是在 AI 辅助的源代码审查过程中由 Claude AI 发现的。研究团队通过为 Claude 提供轻量级的漏洞挖掘提示和实时验证目标,引导 AI 在约 10 分钟内就追踪到了一条跨越 Jolokia、JMX、网络连接器和 VM 传输等多个组件的复杂攻击链。分析指出,人工研究员可能需要整整一周时间才能手动完成相同的工作,这凸显了 AI 模型如何从根本上降低了漏洞研究的门槛。
缓解措施与修复建议
对于企业安全团队,应当立即采取以下监控和防御措施:
- 监控日志:密切关注 ActiveMQ 代理日志中涉及包含
brokerConfig=xbean:http 的 vm:// URI 条目。
- 检测异常请求:警惕向
/api/jolokia/ 端点发送的、包含 addNetworkConnector 操作的 POST 请求。
- 追踪异常连接:留意由 ActiveMQ 进程发起的异常出站 HTTP 连接。
- 关注进程行为:防御者还需关注 ActiveMQ 所在 JVM 产生的异常子进程。
该漏洞已在 ActiveMQ Classic 5.19.4 和 6.2.3 版本中得到修复。补丁完全移除了通过 Jolokia API 注册 vm:// 传输的 addNetworkConnector 功能。因此,所有运行受影响版本的组织应立即更新至安全版本,并审计所有 ActiveMQ 实例中默认凭证的使用情况,修改弱密码。

参考来源:
Claude Uncovers 13-Year-Old RCE Flaw in Apache ActiveMQ in Just 10 Minutes
https://cybersecuritynews.com/claude-apache-activemq/

此次事件不仅是一次严重的安全警报,也预示着AI将在未来的漏洞挖掘和安全防御中扮演更重要的角色。对于开发者和运维人员而言,保持中间件版本更新和强化认证是永恒的安全基石。如果你想深入探讨更多关于中间件安全或AI在安全领域的应用,欢迎到 云栈社区 的相关板块交流。
|