一、漏洞描述
1.可以通过外网访问到nacos的用户信息列表
2.并且可以通过外网随意添加nacos用户名及密码
此漏洞可能泄露敏感信息并被攻击者利用造成威胁;攻击者可能直接利用样例的
漏洞进行攻击;核心数据可能被偷取
如果你的nacos版本为2.0以上的版本,建议直接从(2、nacos配置文件application.properties加以下配置信息)开始查看。
二、解决方法
1、升级nacos版本至2.0.3以上;
nacos官方文档:
Nacos 快速开始;
nacos2.0.3linux环境下载地址:
https://github.com/alibaba/nacos/releases/download/2.0.3/nacos-server-2.0.3.tar.gz
nacos2.0.3windows下载地址:
https://github.com/alibaba/nacos/releases/download/2.0.3/nacos-server-2.0.3.zip
nacos2.0.4linux环境下载地址:
https://github.com/alibaba/nacos/releases/download/2.0.4/nacos-server-2.0.4.tar.gz
nacos2.0.4windows下载地址:
https://github.com/alibaba/nacos/releases/download/2.0.4/nacos-server-2.0.4.zip
2、 下载后解压
linux解压命令:
tar-zxvf nacos-server-2.0.0-ALPHA.1.tar.gz
windows直接解压即可
3、将旧版本的nacos配置文件application.properties内容复制到新版本nacos中config目录下
4、并在新版本nacos配置文件application.properties加以下配置信息
nacos.core.auth.enabled=true
nacos.core.auth.system.type=nacos
表示开启权限认证
5、在各应用服务的bootstrap.yml中添加nacos的用户名及密码
分别在 spring.cloud.nacos.discovery和 spring.cloud.nacos.config中添加你安装nacos的账号和密码,如下图所示:
6、在pom文件中移除nacos-client依赖
在pom文件中移除spring-cloud-starter-alibaba-nacos-discovery以及spring-cloud-starter-alibaba-nacos-config依赖中的nacos-client 依赖,如下图所示:
7、重新添加nacos-client依赖
重新在pom文件中添加 nacos-client依赖,并且nacos-client依赖版本必须与你安装的nacos版本保持一致(我安装的nacos是2.0.3的版本,所以nacos-client依赖引入的version版本为2.0.3),如下图所示:
8、项目打包发布,重启nacos,重启应用服务
linux启动命令:
nacos集群启动 sh . startup.sh
nacos单节点启动 sh . startup.sh -m standalone
windows启动命令:
进入到nacos的bin目录下cmd启动黑窗口
startup.cmd -m standalone
9、如果应用服务启动报如下错误
这个错误在我服务器上是不影响应用服务的正常运行的,建议等应用服务完全启动完毕后,调接口查看应用服务是否启动成功 。
转载请注明:解决Alibaba Nacos 权限认证绕过漏洞 (CVE- - 2021- - 29441)亲测有效 | 胖虎的工具箱-编程导航