当前位置: 首页 > news >正文

Nacos namespaces未授权访问【原理扫描】 复现与修复

前言
👏作者简介:我是笑霸final。
📝个人主页: 笑霸final的主页
📕系列专栏:java专栏
📧如果文章知识点有错误的地方,请指正!和大家一起学习,一起进步👀
🔥如果感觉博主的文章还不错的话,👍点赞👍 + 👀关注👀 + 🤏收藏🤏

目录

  • 一、问题发现
  • 二、问题复现
  • 三、修复问题
    • 3.1版本升级
    • 3.2 手动编译源码
  • 四、注意

一、问题发现

在生产环境中,我们通常期望:只要开启nacos.core.auth.enabled=true,所有敏感接口都应受权限控制

然而实测发现,在 Nacos < 3.0 的版本中,即使已启用鉴权,以下接口仍可被未登录用户直接访问:

  • /v1/console/namespaces
  • /v2/console/namespace/list

这会导致命名空间列表泄露,进而可能辅助攻击者枚举配置(如prodtest等环境标识)。

💡 注:该行为目前未被 Nacos 官方定义为安全漏洞,但在安全加固视角下,属于鉴权覆盖不全的风险点

二、问题复现

测试环境、非攻击意图,仅用于学习。
当前问题版本 Nacos 低于3

安全影响分析(基于最小权限原则)

在 Nacos 2.x 版本中,即使启用了nacos.core.auth.enabled=true,部分控制台接口(如/v1/console/namespaces/v2/console/namespace/list未纳入统一权限体系
这可能导致:

  • 命名空间列表对外暴露;
  • 结合其他信息(如命名空间名称produat),辅助进行配置路径猜测;
  • 若配合其他配置泄露风险,可能扩大攻击面。

💡 注意:此行为属于鉴权覆盖不全,并非官方认定的安全漏洞。但在高安全要求场景下,建议主动收敛此类信息暴露。

1、确认nacos开启了鉴权。访问nacos查看是否需要登录。

2 尝试未授权获取 Namespace 列表
以下操作请在本地测试环境中进行,禁止对非授权系统执行”。

curl -X GET "http://<ip>:8848/nacos/v1/console/namespaces" 或者 curl -X GET "http://<ip>:8848/nacos/v2/console/namespace/list"


可见我的v1接口直接绕过了鉴权。

三、修复问题

3.1版本升级

根据时间,在nacos官网上,查询版本,发现版本2.4.3

打开2.4.3的升级手册:https://nacos.io/docs/v2.4/manual/admin/upgrading/?spm=5238cd80.2677a16c.0.0.176ddcd05CVmLT

支持直接升级,且 主要操作是替换二进制包
但是还是建议对比一下 mysql-schema.sql 确认表结构是否有变化。

遗憾的是,在 Nacos 3.0.0 以下的所有版本中,该接口的鉴权缺失问题仍未被官方纳入修复范围。因此,若需在旧版本中实现完整权限控制,可考虑手动加固。
源码如下

3.2 手动编译源码

仅用于学习,不用于商业分发
v1接口在如下地方加上注解
com.alibaba.nacos.console.controller.NamespaceController#getNamespaces
com.alibaba.nacos.core.service.NamespaceOperationService#getNamespace

@Secured(resource=AuthConstants.CONSOLE_RESOURCE_NAME_PREFIX +"namespaces", action=ActionTypes.READ)或者 @Secured(resource="namespace:list", action=ActionTypes.READ)


v2接口在如下地方加上注解

com.alibaba.nacos.console.controller.v2.NamespaceControllerV2#getNamespaceList

@Secured(resource=AuthConstants.CONSOLE_RESOURCE_NAME_PREFIX +"namespaces", action=ActionTypes.READ, signType=SignType.CONSOLE)

注意上面添加的注解

@Secured(resource=AuthConstants.CONSOLE_RESOURCE_NAME_PREFIX+"namespaces",action=ActionTypes.READ,signType=SignType.CONSOLE)

resource的值其实需要改动,不能以AuthConstants.CONSOLE_RESOURCE_NAME_PREFIX开头,自己写成其他路径吧,否者加上此注解后只有管理员账号才能访问了(代码中有硬编码)

然后编译 命令mvn -Prelease-nacos -Dmaven.test.skip=true clean install
替换 nacos-server.jar

** 验证**

C:\Users\35886>curl-XGET"http://<your-nacos-host>:8848/nacos/v1/console/namespaces"{"timestamp":"xxxxxxx","status":403,"error":"Forbidden","message":"user not found!","path":"xxxxxxxxxx"}C:\Users\35886>curl-XGET"http://<your-nacos-host>:8848/nacos/v2/console/namespace/list"{"timestamp":"xxxxxxxx","status":403,"error":"Forbidden","message":"user not found!","path":"xxxxxxnamespace/list"}C:\Users\35886>

成功!!!!!


四、注意

注意:所有截图均来自单机部署的 Nacos 测试实例,无任何外部网络暴露。当前也只是修复这个问题,博主并没有真正用于生产环境。仅用于学习交流

免责声明::本文所有操作均在本地测试环境完成,仅用于安全配置验证与学习。不鼓励、不支持对非授权系统进行任何形式的探测。生产环境请严格遵循最小权限原则。。

http://www.jsqmd.com/news/1163390/

相关文章:

  • AI Agent 到底是什么?从工具调用、任务拆解到多模型接入讲清楚
  • NVIDIA GLM-5.1-NVFP4震撼发布:4位量化技术如何实现754B参数模型的高效部署?
  • 上海配眼镜怎么选,验光师有没有把你的用眼习惯纳入方案才是关键 - 配眼镜新资讯
  • 2026年深圳专利申请与无效律师推荐精选:5位双证实力护航创新 - 本地品牌推荐
  • 2026年7月晋中​市公共卫生许可证检测集中空调通风系统检测水质检测空气质量甲醛检测怎么做?正规CMA机构办理指南 - 绿呼吸检测中心
  • 百达翡丽保养和维修的综合性售后支持方案权威公示(2026年7月最新) - 百达翡丽服务中心
  • 2026年7月最新重庆真力时官方售后服务网点地址及客服电话一览 - 亨得利官方服务中心
  • 导师严选!盘点2026年最受欢迎的的降AIGC网站
  • 【2026年太原中考复读学校哪家好:四所本土机构深度解析,助你找到最适合的复读之路】 - 中国企业名录优选推荐
  • 2026年最新整理 可同步课本教材的英语词汇APP推荐
  • 互联网大厂 Java 求职面试:从音视频场景到 AIGC 的技术探讨
  • 工厂系统性降本15%的三大关键
  • 上海配眼镜推荐,能戴三年的眼镜值不值得专门去一次独立验光空间 - 配眼镜新资讯
  • 荆门GEO系统贴牌服务商靠谱源头厂商综合实力推荐:源头厂商、贴牌能力与长期合作路径怎么判断? - 科技快讯
  • 从机器视觉到人工智能的思考
  • 2026年7月最新常州美度官方售后客户服务电话及线下网点地址 - 亨得利钟表维修中心
  • 亲身到店探访杭州亨得利官方名表服务中心|完整地址与售后热线电话(2026年7月更新) - 亨得利官方
  • VLC播放器全平台安装与配置实战指南
  • 2026年上海徐汇靠谱装修公司口碑推荐榜:透明报价杜绝增项,施工规范品质过硬 - 优客装修汇
  • 如何构建高效AI语音转换系统:RVC检索式语音转换架构深度解析与实战指南
  • ARM Cortex-M 复位与取指流程浅析——学习笔记
  • 2026年7月最新苏州泰格豪雅官方售后客服服务电话及地址网点大全 - 亨得利官方服务中心
  • 南京秦淮黄金回收避坑指南|3 家合规实体门店实测,夫子庙 / 新街口 / 秦虹上门到店均可 - 福金阁黄金回收
  • 青岛配眼镜怎么选,五区五家店的正确答案,可能和你想的不一样 - 配眼镜新资讯
  • 2026 年新消息:三元口碑好的烤涮一体设备实力厂家哪家专业,省下一半灶台费,这玩意儿居然能同时搞定烤肉和火锅? - 企业信息推荐【官方】
  • 2026年六安金安区本地人私藏的6家生日宴酒店 - 资讯纵览
  • OpenAI推出GPT-Live:告别回合制,AI语音交互体验大升级!
  • 高中物理网课老师哪个好?4 位实力派名师客观测评口碑推荐 - 信息热点
  • Typora绘制-需求图
  • React使用LogicFlow实现流程图(一)