Apache RocketMQ是一款开源的分布式消息和流处理平台,提供了高效、可靠、可扩展的低延迟消息和流数据处理能力,广泛用于异步通信、应用解耦、系统集成以及大数据、实时计算等场景。
近期,长亭科技监测到RocketMQ发布新版本修复了一个远程命令执行漏洞(CVE-2023-37582)。
经过分析漏洞后,发现公网仍有较多系统未修复漏洞。应急团队根据该漏洞的原理,已经编写了X-POC远程检测工具和牧云本地检测工具,并已向公众开放下载使用。
当RocketMQ的NameServer组件暴露在外网时,并且缺乏有效的身份认证机制,那么攻击者可以利用更新配置功能,以RocketMQ运行的系统用户身份执行命令。
本次漏洞与CVE-2023-33246[1]不同的是,本次影响的是NameServer服务(默认9876端口),只要能访问到NameServer且该服务未开启身份认证可修改某些配置,就可实现远程命令执行,无需其他条件。
值得注意的是,即使升级到最新版本修复了漏洞,也强烈建议开启Broker、NameServer等组件的身份认证机制,未授权修改配置可能导致服务不可用等其他影响,故本次检测工具依旧是检测相关组件的未授权访问情况。
xpoc -r 402 -t tcp://127.0.0.1:9876
在本地主机上执行以下命令即可扫描:
./apache_rocketmq_cve_2023_37582_scanner_linux_amd64
添加身份认证机制,确保只有授权用户才能访问和操作RocketMQ的消息队列。
[1].https://mp.weixin.qq.com/s/TvmMhBuPPbvfqvWEw_tVuQ
[2].https://github.com/apache/rocketmq/releases/tag/rocketmq-all-4.9.7
[3].https://github.com/apache/rocketmq/releases/tag/rocketmq-all-5.1.2
[4].https://github.com/lagom1z/blog-timeline/issues/34