漏洞一
受影响组件
- 名称: nacos-api
- 路径:
app/app.jar/BOOT-INF/lib/nacos-api-1.4.1.jar
- 类型: WEB
- 版本: 1.4.1
- 修复版本: 1.4.6, 2.2.3
描述
Nacos在处理某些基于Jraft的请求时,采用Hessian进行反序列化,但并未设置限制,导致应用存在远程代码执行漏洞。主要受影响的是7848端口的Jraft服务。Nacos 1.x在单机模式下默认不开放7848端口,故该情况通常不受此漏洞影响。
使用cluster集群模式运行Nacos 1.4.0到1.4.6(不包含1.4.6)版本受此漏洞影响,然而,2.x版本无论单机或集群模式均默认开放7848端口均受该漏洞的影响。
####受影响版本
- 1.4.0 <= Nacos < 1.4.6
- 2.0.0 <= Nacos < 2.2.3
解决方案
-
升级修复
官方已发布新版本修复了该漏洞,可下载参考链接中的最新版本进行升级。
参考链接: -
临时缓解
对外限制开放7848端口,一般使用时该端口为Nacos集群间Raft协议的通信端口。因此老版本可以通过禁止该端口来自Nacos集群外的请求来缓解此漏洞。(如部署时已进行限制或未暴露,则风险可控)。
漏洞二
受影响组件
- 名称: nacos-client
- 路径:
app/app.jar/BOOT-INF/lib/nacos-client-1.4.1.jar
- 类型: WEB
- 版本: 1.4.1
- 修复版本: >2.0.3
描述
Nacos 2.0.3版本存在安全漏洞,该漏洞源于在访问提示页面中存在访问控制漏洞
漏洞三
受影响组件
- 名称: nacos-common
- 路径:
app/app.jar/BOOT-INF/lib/nacos-common-1.4.1.jar
- 类型: WEB
- 版本: 1.4.1
- 修复版本: >2.0.3
描述
Nacos 2.0.3中通过 pageSize 和 pageNo 参数在 auth/users 中存在跨站脚本 (XSS) 漏洞
修复过程
生产环境服务版本情况:
组件名称 | 版本 |
---|---|
Spring Cloud Alibaba Version | 2021.0.1.0 |
Spring Cloud Version | 2021.0.2 |
Spring Boot Version | 2.6.8 |
Nacos服务端 | 2.2.0 |
Nacos客户端 | 1.4.1 |
官方各版本和组件对照表:Spring Boot + Spring Cloud Aibaba + Nacos版本依赖关系,升级版本如下:
组件名称 | 版本 |
---|---|
Spring Cloud Alibaba Version | 2021.0.5.0 |
Spring Cloud Version | 2021.0.5 |
Spring Boot Version | 2.6.13 |
Nacos服务端 | 2.2.0 |
Nacos客户端 | 2.2.0 |
原生产代码:
<properties>
<spring-boot.version>2.6.8</spring-boot.version>
<spring-cloud.version>2021.0.2</spring-cloud.version>
<spring-cloud-alibaba.version>2021.0.1.0</spring-cloud-alibaba.version>
</properties>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>