Nacos是一个开源的、易于使用的动态服务发现、配置和服务管理平台,适合构建云原生应用。它提供了一种统一的数据管理和服务发现解决方案。
近期,长亭科技监测到Nacos发布新版本修复了一个远程代码执行漏洞。
经过漏洞分析后,发现该系统应用较为广泛,且漏洞影响范围较大。应急团队根据该漏洞的原理,编写了X-POC远程检测工具和牧云本地检测工具,并已向公众开放下载使用。
长亭应急响应实验室发现,Nacos 1.x在单机模式下默认不开放7848端口,故该情况通常不受此漏洞影响。然而,2.x版本无论单机或集群模式均默认开放7848端口。主要受影响的是7848端口的Jraft服务,因此,用户可据此判断自身可能的风险。
Nacos在处理某些基于Jraft的请求时,采用Hessian进行反序列化,但并未设置限制,导致应用存在远程代码执行(RCE)漏洞。
或通过以下命令进行端口扫描并检测:
1xpoc -r 100 -t 扫描目标
在本地主机上执行以下命令即可扫描:
1./nacos_raft_deserialization_rce_scanner_linux_amd64 scan --output result.json
复制链接, 前往 CT Stack 安全社区下载牧云本地检测工具:
https://stack.chaitin.com/tool/detail?id=1175
1.4.0<= Nacos < 1.4.6 使用cluster集群模式运行
2.0.0 <= Nacos < 2.2.3 任意模式启动均受到影响
对外限制开放7848端口,一般使用时该端口为Nacos集群间Raft协议的通信端口,不承载客户端请求,因此老版本可以通过禁止该端口来自Nacos集群外的请求达到止血目的(如部署时已进行限制或未暴露,则风险可控)。
官方已发布新版本修复了该漏洞,可下载参考链接中的最新版本进行升级。