【问题解决】Nacos服务端NVDB-CNVDB-2023674205漏洞
缘起
最近(2023.03.13)客户现场要求自检有无使用Nacos,原因是Nacos存在认证绕过高危漏洞,其漏洞代码NVDB-CNVDB-2023674205
,本文就简单说一下这个事儿,以及如何解决这个问题。
以下内容中,Nacos服务端A简称A,Nacos服务端B简称B。
问题现象
可以使用已知账号密码的A的登录响应体,替换未知密码的B登录响应体来绕过认证,进入B后台。
影响范围:<=2.2.0
问题原因
Nacos使用JWT生成密钥,同样的JWT生成key会导致A的token可以给B使用。
解决办法
方法一、修改生成token的key
Nacos提供了修改默认JWT token生成key的配置项:
#启用认证 nacos.core.auth.enabled=true #生成token的密钥 nacos.core.auth.plugin.nacos.token.secret.key=BASE64编码
推荐自定义密钥时,推荐将配置项设置为Base64编码的字符串,且原始密钥长度不得低于32字符。
方法二、升级到2.2.0.1及以后版本
目前Nacos官方在2023.03.02发布了2.2.0.1,下载地址:https://github.com/alibaba/nacos/releases/tag/2.2.0.1
以后更近版本参见:https://github.com/alibaba/nacos/releases
方法三、容器环境处理方式
对于容器环境则将 NACOS_AUTH_ENABLE=true
与 NACOS_AUTH_TOKEN=BASE64编码
作为环境变量传入即可。
参考引用:
本文作者:东北小狐狸
本文链接:https://www.cnblogs.com/hellxz/p/17211802.html
版权声明:本作品采用自由转载-非商用-非衍生-保持署名 (CC BY-NC-ND 3.0)许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步