Nacos namespaces漏洞 未授权访问漏洞【原理扫描】

发布时间:2026/5/16 6:47:30

Nacos namespaces漏洞 未授权访问漏洞【原理扫描】 漏洞扫描发现该漏洞可以不经过授权直接获取nacos的命名空间。在浏览器输入192.168.x .xxx:8848/nacos/v1/console/namespaces会以JSON格式返回命名空间注意如果已经在浏览器登录nacos请清除缓存或用无痕模式验证。修复方法有两个一个是升级nacos版本。但是nacos官方并不觉得这算漏洞所以直到3.0.0之后的版本才对该漏洞进行修复。而升级3.0.0版本需要JDK17表结构也和某些老版本不同所以会引起比较大的麻烦另一个方案就是修改nacos源码。本文即采用该方案并不复杂 有些不得不修复的情况可以试试。首先到下载对应版本的源码https://github.com/alibaba/nacos/releases到发布页面找到自己对应的版本下载sourcecode即可。我是2.2.3版本就下载这个下载之后解压用IDE打开需要修改的地方如下com.alibaba.nacos.console.controller.NamespaceController这个Controller的getNamespaces()方法和getNamespace()方法加上注解Secured(resourceAuthConstants.CONSOLE_RESOURCE_NAME_PREFIXnamespaces,actionActionTypes.READ)2.com.alibaba.nacos.console.controller.v2.NamespaceControllerV2这个Controller的getNamespaceList()方法和getNamespace()方法分别加上注解Secured(resourceAuthConstants.CONSOLE_RESOURCE_NAME_PREFIXnamespaces,actionActionTypes.READ)Secured(resourceAuthConstants.CONSOLE_RESOURCE_NAME_PREFIXnamespaces,actionActionTypes.READ,signTypeSignType.CONSOLE)这样就改好了然后直接执行命令打包mvn -Prelease-nacos -DskipTests clean install -U打包后拿到distribution下面的target下面的nacos-server-2.2.3.zip不要拿错。修改配置并重新部署即可。配置在解压后的conf下启动执行bin下的start.sh或start.cmd。启动时加上-m standalone单体启动否则可能会报错。只针对本来就是单体的不要尝试打包后只替换console模块会遇到各种奇怪的问题一卡好几个小时。直接拿zip部署。

相关新闻