2023年10月25日,Apache ActiveMQ 公布了一个远程代码执行漏洞(CVE-2023-46604),并发布了修复的版本。奇安信技术研究院“天问”软件供应链安全监测平台通过对历史数据进行测绘,发现有知名设备固件和开源生态中的组件使用了ActiveMQ组件的漏洞版本。

1.  背景介绍

Apache ActiveMQ 是最流行的开源、多协议、基于 Java 的消息代理。它支持行业标准协议,用户可以从多种语言和平台的客户端中使用 AMQP 协议集成多平台应用程序。ActiveMQ 具有强大的功能和灵活性,实现了 Java Message Service(JMS)规范,用于在分布式系统中进行异步通信。[1]

2023年10月25日,Apache 披露了ActiveMQ 远程代码执行漏洞(CVE-2023-46604)并发布了ActiveMQ的新版本。该漏洞允许拥有代理网络访问权限的远程攻击者通过操纵 OpenWire 协议中的序列化类类型,使代理实例化类路径上的任何类,从而运行任意 shell 命令[2]。

目前该漏洞的细节以及EXP已公开传播,漏洞利用成本极低,且已经发现在野利用。针对这一情况,奇安信技术研究院“天问”软件供应链安全监测平台提供软件成分分析功能,能够从软件中提取可能使用的组件和版本并给出安全建议。下面我们将使用天问平台对该漏洞在固件以及开源生态中的影响范围进行测绘。

2. 天问的能力

奇安信技术研究院“天问”软件供应链安全监测平台基于强大的知识库储备,拥有软件供应链影响范围的测绘能力,能够自主进行软件成分分析并生成软件影响图谱。天问平台具备三大能力:软件组成成分分析能力、全网软件空间测绘能力和安全事件监测预警能力。用户可通过浏览器访问天问平台,将待测试软件直接上传天问进行分析。天问支持跨CPU指令集、支持跨操作系统平台检测,目前支持十余种软件安装包格式,二十余种打包格式和十余种固件格式的的分析,还支持对Docker等容器镜像的分析。

天问检测的基本原理是从样本中进行文件解剖,提取出各种各样的原始文件,并且对所有的原始文件进行细粒度、高精度的分析,从而关联到这些文件所对应的组件,然后根据我们庞大的漏洞数据库,来对这些组件的漏洞信息进行一个关联,最终得到了分析对象的潜在漏洞列表。基于上述强大的样本分析能力,天问对海量的样本进行了细粒度的分析,形成了独有的软件空间测绘数据库。目前,该数据库已经有超过6,000万个节点,它们之间的关联关系已经超过了4亿条。  

2.1 Maven 组件

根据Github Advisory Database提供的数据[3],本漏洞影响了Maven中两个具体的组件 org.apache.activemq:activemq-client 和 org.apache.activemq:activemq-openwire-legacy。我们对这两个组件进行了依赖分析,共检测到5554个版本和1376个包依赖于这两个组件的漏洞版本。其中有224个包直接依赖 activemq-client 组件,15个包直接依赖activemq-openwire-legacy组件。

以activemq-client组件为例,我们计算了不同深度的依赖分布,结果如下:

可以看到依赖该组件的深度最多为7层,如 com.codbex.kronos:kronos-modules-all:0.1.0 组件。虽然较深的依赖深度不意味着不可利用,但也要及时修复防患于未然。

2.2 固件

我们对收集到的路由器、摄像头和智能家居设备等的固件进行了分析,从156,787个固件中检出了39个固件包含与activemq相关组件。其中39个固件使用了activemq组件,38个固件使用了activemq-openwire-legacy组件以及38个固件使用了activemq-client组件。

从这些固件中我们发现了知名的产品,其中有山石网科的安全管理平台、优科的多站点管理软件和天融信的大数据分析系统等。同样需要强调的是我们仅是初步分析了它们的以往固件,并不一定是最新版本,使用产品的用户还是需要及时更新产商提供的最新固件。

2.3 软件源

我们分析的软件源有麒麟源和ubuntu官方源,其中ubuntu官方源中漏洞组件主要存在于activemq文件夹下的libactivemq-java_*.deb文件中。而麒麟源在不同架构版本中均有涉及,漏洞组件影响的文件为libactivemq-java_*.deb。

3. 处置建议

目前ActiveMQ组件已发布修复后的版本5.15.16、5.16.7、5.17.6和5.18.3,受影响用户可以更新到该版本以及之后的版本。下载链接: https://github.com/apache/activemq/tags

也可以通过临时限制Apache ActiveMQ默认服务端口61616的访问权限,避免漏洞被利用。

4. 结语

以上的数据是我们初步统计分析的结果,对每一个可疑固件/组件是否存在利用可能需要进一步验证。奇安信技术研究院“天问”软件供应链安全监测平台将会持续对该漏洞进行观测,后续会发布更多的影响数据和报告。

参考链接

  1. ActiveMQ (apache.org), https://activemq.apache.org/
  2. NVD - CVE-2023-46604 (nist.gov), https://nvd.nist.gov/vuln/detail/CVE-2023-46604
  3. Github Advisory Database, https://github.com/advisories/GHSA-crg9-44h2-xw35