0


Nacos提权漏洞修复

漏洞详情

Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。若您Nacos未修改 secret.key,则攻击者可利用默认secret.key生成JWT Token,从而造成权限绕过访问到相关API接口。

Nacos 官方于 2023年3月2日发布 2.2.0.1 版本。该版本移除了默认鉴权插件中依赖的nacos.core.auth.plugin.nacos.token.secret.key默认值,在部署新版本时必须要输入自定义的有效token.secret.key 用于登陆后的accessToken生成。

修复建议

  1. 根据官方文档修改secret.key 为随机值,并注意保密。
  2. 升级至最新版本

修复过程

Nacos版本 2.2.0

修改Nacos配置文件

在这里插入图片描述

  1. secret.key 使用随机密码生成的Base64
  2. 开启鉴权:nacos.core.auth.enabled = true

修改项目配置

在这里插入图片描述

spring:
  cloud:
    nacos:
      discovery:
        password: nacos
        username: nacos
        server-addr: 127.0.0.1:8848
      config:
        password: nacos
        username: nacos
        server-addr: 127.0.0.1:8848

注册中心和配置中心用户名密码添加

启动服务

java.lang.IllegalStateException: failed to req API:/nacos/v1/ns/instance after all servers([localhost:8848]) tried: failed to req API:localhost:8848/nacos/v1/ns/instance. code:403 msg: <html><body><h1>Whitelabel Error Page</h1><p>This application has no explicit mapping for /error, so you are seeing this as a fallback.</p><div id='created'>Tue Nov 08 15:00:14 CST 2022</div><div>There was an unexpected error (type=Forbidden, status=403).</div></body></html>
    at com.alibaba.nacos.client.naming.net.NamingProxy.reqAPI(NamingProxy.java:464)
    at com.alibaba.nacos.client.naming.net.NamingProxy.reqAPI(NamingProxy.java:386)
    at com.alibaba.nacos.client.naming.net.NamingProxy.deregisterService(NamingProxy.java:205)
    at com.alibaba.nacos.client.naming.NacosNamingService.deregisterInstance(NacosNamingService.java:244)
如果发现报403错误,是Nacos版本问题

在这里插入图片描述
过滤nacoa自带的client,引入新版本。

版本更新后就可以正常启动。

踩坑:

开启鉴权后,在Nacos管理端修改Nacos密码,点击提交会提示权限校验失败,但此时密码其实已经更改了。这块要注意。


本文转载自: https://blog.csdn.net/weixin_44065695/article/details/129774463
版权归原作者 小码氓 所有, 如有侵权,请联系我们删除。

“Nacos提权漏洞修复”的评论:

还没有评论