【预警类型】高危预警
【预警内容】Nacos远程代码执行漏洞分析、检测和加固防御通告
一、漏洞概述
Nacos是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台,支持多种开箱即用的以服务为中心的架构特性,无缝支持Kubernetes和Spring Cloud,具备企业级SLA的开源产品.近期监测到了Nacos 0day相关信息 ,对此“0day ”漏洞进行跟进分析 。
二、漏洞详情
Nacos是阿里巴巴开源的一个动态服务发现、配置管理和服务管理平台,它致力于帮助用户更轻松地构建基于微服务架构的云原生应用。Nacos提供了服务发现和健康检查、动态配置服务、动态DNS服务以及服务和元数据管理等功能,通过支持Dubbo、Spring Cloud等主流微服务框架和Kubernetes生态,Nacos能有效提升系统的可用性、伸缩性和管理效率,帮助开发者简化复杂的分布式系统管理,并提升开发与运维的协作效率。
攻击者可通过removal接口使Nacos数据库加载恶意JAR包,之后通过derby接口在Nacos中执行任意derby SQL语句,进而执行任意系统命令。
注意事项: 该漏洞在利用过程中访问的两个接口/nacos/v1/cs/ops/data/removal和/nacos/v1/cs/ops/derby均 需要管理员权限才能访问,Nacos部分版本默认配置未进行鉴权,导致此“0day”漏洞产生。
三、漏洞影响范围
Nacos<= v2.4.0 BETA, <= v2.3.2
截止2024.7.16,最新测试版本2.4.0、最新稳定版本2.3.2均受影响。
四、漏洞缓解措施
1.开启鉴权
依据Nacos官方文档开启鉴权方法如下:
非Docker环境
通过application.properties配置文件开启鉴权。
开启鉴权之前,application.properties中的配置信息为:
1. ### If turn on auth system:
2. nacos.core.auth.enabled=false
开启鉴权之后,application.properties中的配置信息为:
1. ### If turn on auth system:
2. nacos.core.auth.system.type=nacos
3. nacos.core.auth.enabled=true
Docker环境
1)官方镜像
在启动docker容器时,添加如下环境变量
NACOS_AUTH_ENABLE=true
2)自定义镜像
自定义镜像, 请在构建镜像之前,修改nacos工程中的application.properties文件。
将下面这一行配置信息:
1. nacos.core.auth.enabled=false
修改为:
1. nacos.core.auth.system.type=nacos
2. nacos.core.auth.enabled=true
然后再配置nacos启动命令。
2.设置强密码
将后台登录密码修改为强密码,该漏洞执行依赖于后台权限。
3.更新补丁
及时更新补丁,官网暂未发布补丁,可实时关注官网更新信息。
(https://nacos.io/download/nacos-server/)