关于 CVE-2023-46604 的更新

新闻 > 关于 CVE-2023-46604 的更新

摘要

CVE-2023-46604 最近被公布,它引起了邮件列表和 Jira 上大量来自用户关于其对 ActiveMQ Classic 和 ActiveMQ Artemis 客户端和代理的影响的疑问。简而言之

  • 建议 ActiveMQ Classic 和 ActiveMQ Artemis 代理的用户进行升级。
  • 建议使用任何基于 Java 的 OpenWire 客户端(例如,Maven 依赖项 activemq-client)的用户进行升级(无论您使用哪个代理)。

在 CVE 公布当天,所有当前分支的新版本都已发布

ActiveMQ Classic

ActiveMQ Artemis

CVE 概述

如官方 CVE 描述中所述

Java OpenWire 协议编组器容易受到远程代码执行攻击。此漏洞可能允许远程攻击者通过网络访问基于 Java 的 OpenWire 代理或客户端,通过操纵 OpenWire 协议中序列化类的类型,导致客户端或代理(分别)在类路径上实例化任何类,从而运行任意 shell 命令。

利用此漏洞需要三个条件

  1. 网络访问
  2. 操纵的 OpenWire 命令(用于使用 String 参数在类路径上实例化任意类)
  3. 类路径上的一个类,可以通过使用 String 参数对其进行实例化来执行任意代码

操纵的命令(即 #2)可以由客户端发送到代理,也可以由代理发送到客户端,因此 **两者** 都容易受到攻击。

ActiveMQ Classic 详细信息

ActiveMQ Classic 代理附带了一些 Spring 依赖项,包括 org.springframework.context.support.ClassPathXmlApplicationContext,它用于运行 Spring 应用程序。此类不仅存在于代理上,而且也是一个非常常见的客户端依赖项。它具有 一个构造函数,它接受一个 String,该字符串可以是指向网络上 XML 应用程序配置文件的 HTTP URL。

已知此漏洞的唯一利用方式是使用此 ClassPathXmlApplicationContext 从网络上的某个地方通过 HTTP 加载恶意 XML 应用程序配置文件。此恶意 XML 特别定义了要在具有漏洞的机器(即代理或客户端)上运行的任意代码。

ActiveMQ Artemis 详细信息

ActiveMQ Artemis 支持 OpenWire 协议,因此它具有来自 ActiveMQ Classic 的依赖项,用于支持此协议。这些依赖项包括易受攻击的代码。但是,Artemis 没有附带 Spring,因此目前还没有已知的利用方式。无论如何,仍然建议升级。

Apache、ActiveMQ、Apache ActiveMQ、Apache 羽毛徽标和 Apache ActiveMQ 项目徽标是 Apache 软件基金会的商标。版权所有 © 2024,Apache 软件基金会。根据 Apache 许可证 2.0 许可。