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可获取所有用户:
创建一个用户:
登录成功:
Nacos身份绕过漏洞复现(QVD-2023-6271)
漏洞成因:
Nacos 2.2.0及以下版本在conf/application.properties文件中硬编码了JWT签名密钥:
1 | ### The default token (Base64 String): |
获取到默认密钥后可伪造JWT,绕过账户密码验证
版本范围:0.1.0 ≤ Nacos ≤ 2.2.0
伪造jwt:
sub 为目标用户名,exp 为失效时间戳,需大于当前系统时间
获取到伪造的 Token 后,可以直接利用其调用敏感 API 接口。
成功登录:
