Nacos客户端漏洞修复

漏洞一

受影响组件
  • 名称: 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

解决方案

  1. 升级修复
    官方已发布新版本修复了该漏洞,可下载参考链接中的最新版本进行升级。
    参考链接:

  2. 临时缓解
    对外限制开放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>
        
### Nacos 安全漏洞概述 Nacos 存在多个已知的安全漏洞,主要包括 User-Agent 绕过安全漏洞、控制台不可用问题以及未授权访问和 XSS 漏洞等问题。这些问题可能导致未经授权的用户获取敏感配置或执行恶意操作。 #### 用户代理绕过安全漏洞及其修复措施 针对 User-Agent 绕过的安全漏洞,在最新的 1.4.1 版本中已经得到了解决[^1]。为了防止特定的 HTTP 请求头(如 `User-Agent` 设置为 "Nacos-Server")能够绕过身份验证机制的情况发生,应当调整应用程序属性文件中的设置: ```properties nacos.core.auth.enable.userAgentAuthWhite=false ``` 此更改确保即使存在特殊的请求头部也不会被错误地识别并允许进入系统内部资源[^4]。 #### 开启认证授权以增强安全性 默认情况下安装完成后的 Nacos 实例可能并未启用严格的权限控制系统,这使得任何拥有网络连接的人都能轻易地浏览甚至修改服务注册表单内的条目。因此强烈建议按照官方指导文档来激活必要的保护特性——即实施基于用户名密码的身份校验流程,并且仅限合法账户才可进行管理层面的操作[^2]。 #### 处理跨站脚本攻击风险 除了上述提到的内容之外,还应注意防范潜在的跨站点脚本注入威胁[XSS]。这类缺陷通常源于开发者未能充分过滤来自客户端提交的数据流之前就将其直接嵌入到网页响应体里;一旦成功利用,则会危害访客隐私乃至整个平台架构稳定性。虽然目前没有具体提及有关此类事件的技术细节,但从最佳实践角度出发,务必定期审查源码质量,采用现代框架自带防护组件或是第三方库辅助实现输入输出两端的有效净化处理逻辑[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值