nacos历史漏洞复现

Nacos(Naming and Configuration Service)是由阿里巴巴开源的一款云原生应用配套工具,主要应用于服务发现、配置管理、服务管理等场景,旨在简化微服务架构中的服务治理工作。Nacos特别适合构建和管理现代云原生应用的微服务架构。

Nacos User-Agent 认证绕过漏洞 (CVE-2021-29441)

影响版本

  • Nacos 1.2.0至1.4.0(低版本存在简单请求判断缺陷)
  • Nacos 2.0.0-ALPHA.1及以下版本(未修复User-Agent白名单逻辑)
  • 自行搭建的1.4.1及以上版本但未开启服务端身份识别功能的集群

漏洞原理:Nacos 在开启鉴权后,为了集群节点之间内部通信的方便,在 Filter 鉴权逻辑中提供了一个白名单机制。如果请求头中的 User-Agent 包含 Nacos-Server 字符串,系统就会误认为是集群内部节点的同步请求,从而直接跳过权限认证。

复现过程:

将User-Agent改为Nacos-Server,访问/nacos/v1/auth/users?pageNo=1&pageSize=9可获取所有用户:

image-20260705101809216

创建一个用户:

image-20260705102040570

登录成功:

image-20260705102553385

Nacos身份绕过漏洞复现(QVD-2023-6271)

漏洞成因

Nacos 2.2.0及以下版本在conf/application.properties文件中硬编码了JWT签名密钥:

1
2
### The default token (Base64 String):
nacos.core.auth.plugin.nacos.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789

获取到默认密钥后可伪造JWT,绕过账户密码验证

版本范围:0.1.0 ≤ Nacos ≤ 2.2.0

伪造jwt:

image-20260705141616087

sub 为目标用户名,exp 为失效时间戳,需大于当前系统时间

image-20260705140851710

获取到伪造的 Token 后,可以直接利用其调用敏感 API 接口。

image-20260705141257880

成功登录:

image-20260705141151820
Next postJWT 攻击