Nacos3.x鉴权作用域错配未授权接管漏洞分析

admin 2026-09-02 06:10:15 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: Nacos3.0.0至3.2.3版本存在严重鉴权作用域错配漏洞,因@Secured注解默认值导致用户/角色/权限管理接口落入未鉴权作用域。未认证攻击者可通过8848端口创建用户、绑定角色并授予全量权限,实现服务端完全接管。官方已在3.2.4版本修复,建议立即升级或开启鉴权开关并限制网络访问。 综合评分: 90 文章分类: 漏洞分析,安全工具,安全建设,应用安全,解决方案


Nacos 3.x 鉴权作用域错配 未授权接管漏洞分析

原创

chicken chicken

爱坤sec

2026年8月29日 02:30 重庆

在小说阅读器读本章

去阅读

在公众号小说中沉浸阅读

Nacos 3.x 鉴权作用域错配漏洞分析

未授权创建管理员账户 完全接管服务端

SecLab 安全研究 · 2026-08-27 公开披露

⚠️ 严重 · 未授权账户接管

攻击向量:网络 | 所需权限:无 | 用户交互:无 | 暂未分配 CVE 编号

漏洞描述

Nacos 是阿里巴巴开源的服务注册与配置中心,广泛用于微服务架构。CVE 暂未分配的该漏洞影响 Nacos 3.0.0 ~ 3.2.3:用户、角色、权限三个管理接口落在了一个默认不鉴权的作用域里。

远程未认证攻击者无需任何凭证,即可在 8848 端口上创建用户、绑定角色、授予全量权限,随后正常登录获取 token——等同于完全接管 Nacos 服务端,读写全部命名空间配置(常含数据库/Redis/中间件凭据)。即使运维按官方文档开启了 admin/console 鉴权,漏洞依然存在。

影响版本

Nacos 3.0.0 ~ 3.2.3 均受影响

攻击面:服务端主端口 8848(SDK/gRPC 端口)

修复版本

✅ 升级至 3.2.4 及以上版本

⚠️ 官方修复:为受影响接口的 @Secured 注解补上 apiType = ApiType.ADMIN_API

漏洞根因

Nacos 3.x 将 HTTP 鉴权按 @Secured 注解的 apiType 拆分为多条独立作用域(scope),由不同 Servlet Filter 处理:

作用域拆分(关键)

ADMIN_API 走 AuthAdminFilter,开关 nacos.core.auth.admin.enabled默认开启OPEN_API 走 AuthFilter,开关 nacos.core.auth.enabled默认关闭

注解默认值陷阱

@Secured 注解的 apiType() 默认值是 OPEN_API——而 3.0.0~3.2.3 中用户/角色/权限管理控制器(nacos-default-auth-plugin 模块)的一批方法漏标了 apiType = ApiType.ADMIN_API,导致本应受默认开启的 Admin 鉴权保护的管理接口,落入默认关闭的普通鉴权作用域。

结果AuthAdminFilter 只匹配 ADMIN_API,直接跳过这些接口;AuthFilter 因 auth.enabled=false 直接放行——形成「鉴权作用域错配」。

受影响接口

createUser / deleteUser → POST/DELETE /nacos/v3/auth/user

createRole / deleteRole → POST/DELETE /nacos/v3/auth/role

createPermission / deletePermission → POST/DELETE /nacos/v3/auth/permission

利用链(4 步)

① 未授权创建用户POST /nacos/v3/auth/user

② 未授权创建角色并绑定POST /nacos/v3/auth/role

③ 授予全量权限POST /nacos/v3/auth/permission(resource=* / action=rw)

④ 正常登录POST /nacos/v3/auth/user/login 获取 accessToken

两个关键绕过点:服务层禁止创建内置 ROLE_ADMIN → 改用随机角色名 + * 通配资源拿等价全量权限;权限缓存默认延迟 ~15s → 刚创建的用户立即访问可能失败,需重试。

公开 PoC

GitHub 上已有公开利用脚本(TlyHj/nacos-v3-attack、HackSpeak/nacos-authscope),
支持一键检测、批量扫描与完整利用(创建账户 → 绑角色 → 授权 → 登录取 token),
攻击者可未授权创建管理员等价账户完全接管。PoC 已公开,存在被批量利用的风险。

FOFA 语法

body="nacos" && port="8848"
# 或
title="Nacos" && port="8848"

修复建议

1️⃣ 立即升级 Nacos 至 3.2.4 及以上版本

2️⃣ 临时缓解:开启 nacos.core.auth.enabled=true(漏标接口同样要求认证)

3️⃣ 网络层面限制 8848 端口仅对可信内网开放

4️⃣ 排查系统中是否已存在攻击者注入的异常账户/角色

⚠️ PoC 已公开,存在被批量利用的风险,请尽快处置

参考链接

https://github.com/TlyHj/nacos-v3-attack
https://github.com/HackSpeak/nacos-authscope
https://github.com/alibaba/nacos

⚠️ 安全提示

本文内容仅用于安全研究与防御加固学习。请勿对未授权目标实施攻击,否则后果自负。

— EOF —


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:爱坤sec chicken chicken《Nacos 3.x 鉴权作用域错配 未授权接管漏洞分析》

评论:0   参与:  0