阿里巴巴开源的服务注册与配置中心 Nacos 曝出一个权限绕过漏洞,编号 QVD-2026-59388,CVSS 3.1 评分 9.8。攻击者不需要任何账号密码,只要网络能摸到 Nacos 服务,就能在未授权状态下直接创建一个管理员账户,进而完全接管服务端,把微服务配置、数据库连接串、API 密钥这些敏感凭据,全部拖走。奇安信 CERT 已发布通告并成功复现,目前 PoC 尚未公开、也未发现大规模在野利用。但奇安信鹰图测绘显示,国内关联风险资产高达 39808 个,Nacos 几乎每个微服务项目都在用,这个洞的波及面就是 “万级”。官方已发布 3.2.4 修复版本,别等 PoC 公开再动手。
漏洞原理
这个漏洞出在 Nacos 的新版用户管理接口上,一句话:该受保护的接口被错误地当成了公开接口。
具体说,问题在 UserControllerV3.createUser() 这个方法。它的安全注解 @Secured 在声明时漏掉了 apiType 这个参数,导致鉴权作用域错配 ——Nacos 的鉴权框架把 “这个接口是否需要认证” 判断错了,本应要求登录才能调用的 “创建用户” 接口,被错误地放行成了无需鉴权就能访问。
攻击者只要直接调用这个接口,提交一个自己指定的用户名和密码,就能注册出一个管理员账户。整个过程不需要任何凭证、不需要任何前置条件,唯一的要求是目标 Nacos 服务网络可达。
为什么这是 “接管级” 的危害?因为 Nacos 在微服务架构里是配置中心和注册中心,它手里攒着全公司的敏感配置:数据库连接字符串、Redis 口令、API 密钥、各种中间件的账号密码。注册管理员之后,攻击者可以:
- 读取所有微服务配置,批量窃取敏感凭据
- 修改配置,让业务服务加载恶意参数,直接造成业务中断甚至植入后门
- 创建后门账号实现持久化,长期潜伏
- 拿配置里的数据库、云凭据横向移动,打进内网其他系统
一个接口鉴权错配,等于把整个微服务体系的钥匙交给了攻击者。
高风险部署场景
以下几类环境要立刻自查,按优先级排列:
1. 公网可访问的 Nacos 实例 —— 最高危。 攻击者只要扫到 8848 端口,就能直接打。Nacos 是内网设施,任何暴露到公网的都是重点目标。
2. 运行 3.0.0-3.2.3 版本、内网可达的实例。 哪怕只在内网,一旦有员工终端被控、或攻击者进入内网,同样能利用。别以为内网就安全。
3. 承载核心业务配置的实例。 存着数据库口令、云密钥、支付网关凭据的 Nacos,被接管后的损失是 “整库凭据泄露 + 业务中断” 级别的。
4. 未开启鉴权或使用默认配置的实例。 这类实例连最基本的认证都没有,配合这个漏洞等于大门敞开。
修复与临时缓解方案
第一优先级:升级到 Nacos 3.2.4 或更高版本
官方已发布安全补丁,升级即可修复:
# 在项目依赖中升级 Nacos Server 版本至 3.2.4+
# 或从官方 Release 下载新版本部署
https://github.com/alibaba/nacos/releases/tag/3.2.4
第二优先级:临时缓解(无法立即升级时)
- 开启所有鉴权开关。启用鉴权后,所有 SDK 客户端必须配置用户名密码 —— 先评估对业务的影响,安排窗口期切换。
- 网络隔离。仅允许可信 IP 段访问 Nacos,公网暴露的实例立即回撤。可以用防火墙 / 安全组做限制。
- 排查异常管理员账户。检查 Nacos 用户列表,确认没有攻击者注册的后门账户,如有立即删除并核查配置是否被篡改。
运维自查清单
- 确认 Nacos 版本是否在 3.0.0-3.2.3 受影响区间
- 检查 Nacos 是否暴露在公网(8848 端口是否外网可达)
- 检查用户列表中是否有异常新增的管理员账户
- 核对核心配置(数据库连接、API 密钥)是否被读取或篡改
- 确认鉴权开关是否已开启
- 确认
nacos.core.auth.server.identity等安全配置是否为自定义值(非默认值) - 升级到 3.2.4+,升级后验证服务注册与配置拉取正常
- 关注奇安信与官方通告,跟踪 PoC / 在野利用动态
总结
一个注解漏参,四万个国内资产暴露。Nacos 是微服务的 “大脑”,手里攥着全公司的配置和密钥,这种鉴权错配的洞是最阴的那种 —— 攻击者连爆破都不用,注册个管理员就完事。升 3.2.4 是根治,升不了就先开鉴权、断公网。别等 PoC 出来,那会儿扫你 8848 的就是批量脚本了。