Nacos认证绕过漏洞修复
1 漏洞描述及复现
1.1 漏洞描述
Nacos 官方在 github 发布的 issue 中披露 Alibaba Nacos 存在一个由于不当处理 User-Agent 导致的认证绕过漏洞。通过该漏洞,攻击者可以进行任意操作,包括创建新用户并进行登录后操作。
1.2 漏洞复现
请求头设置User-Agent,值为Nacos-Server,那么不需要认证,就可以随意创建用户,比如,访问http://ip:port/nacos/v1/auth/users?username=xxx&password=xxx,如下图,用户创建成功:
或者访问http://ip:port/nacos/v1/auth/users?pageNo=1&pageSize=10,也可以查询到已创建的用户信息。
2 漏洞修复
编辑nacos的配置文件( /<nacos安装目录>/conf/application.properties ),修改以下配置信息并保存:
nacos.core.auth.enabled=true
nacos.core.auth.enable.userAgentAuthWhite=false
nacos.core.auth.server.identity.key=serverIdentity
nacos.core.auth.server.identity.value=security
保存后,重启nacos。
如果项目中没有配置nacos的用户名密码信息,会影响服务,配置过的可忽略。如springboot的配置文件中,需要配置nacos的用户名及密码信息:
spring:
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
username: nacos
password: nacos
3 修复后验证
修复之后,再次访问,如下,显示403,则漏洞修复成功。