vlambda博客
学习文章列表

突发!Spring Cloud 爆高危漏洞。。赶紧修复!!

Spring Cloud 突发漏洞

大家好,我是栈长。

刚告一段落,Spring Cloud Gateway 又突发高危漏洞,又得折腾了。。。

昨天栈长也看到了一些安全机构发布的相关漏洞通告,Spring Cloud 官方博客也发布了高危漏洞声明:

突发!Spring Cloud 爆高危漏洞。。赶紧修复!!

Spring Cloud 中的 Spring Cloud Gateway 组件被爆出了两个安全漏洞。

Spring Cloud Gateway 是 Spring Cloud 的第二代网关组件,是 Spring Cloud Finchley 版推出来的新组件,用来代替第一代服务网关:Zuul。

Spring Cloud Gateway 的主要作用是:为微服务架构提供一种简单、有效、统一的 API 路由管理方式。

具体可以参考:

漏洞1:

CVE-2022-22947 远程代码执行漏洞
影响组件 Spring Cloud Gateway
受影响版本 - 3.1.0
- 3.0.0 ~ 3.0.6
- 其他不再维护的旧版本
漏洞危害等级 高危

当 Spring Cloud Gateway Actuator 端点被启用和暴露时,使用 Spring Cloud Gateway 的应用程序会存在远程代码注入攻击的风险,即攻击者可以远程发出恶意攻击请求,允许在远程服务器上进行任意代码执行。

漏洞2:

CVE-2022-22946 HTTP2 不安全的 TrustManager
影响组件 Spring Cloud Gateway
受影响版本 3.1.0
漏洞危害等级 中等

Spring Cloud Gateway 如果配置并启用 HTTP2,且未设置密钥存储或受信任证书,这样 Spring Cloud Gateway 就能被无效或自定义的证书连接到远程服务。

解决方案

1、升级版本

Spring Cloud 2021.0.x 用户可以把主版本升级到 Spring Cloud 2021.0.1,Spring Cloud Gateway 已升级到了 3.1.1。

这个在前几天的《》最新版本发布时,我并没有看到修复这个高危漏洞的说明,昨天官方博客发了这个漏洞通告又含在这个版本中,这就有点摸不到头脑了。。

Spring Cloud 2020.0.x 用户可以自行升级到 Spring Cloud Gateway 3.0.7。

其他不再维护的老版本也有漏洞,只是官方不再维护了,是否可自己升级,兼容性不得而知。

2、临时方案(仅限第1个漏洞)

这个临时方案仅限第 1 个漏洞,第二个漏洞只能升级 Spring Cloud 主版本。

如果不需要用到 Gateway actuator 端点,可通过以下配置禁用:

management.endpoint.gateway.enabled: false

如果需要 Gateway actuator 端点,则应使用 Spring Security 对其进行防护,可参考以下网址:

https://docs.spring.io/spring-boot/docs/current/reference/html/actuator.html#actuator.endpoints.security

总结

Spring Cloud Gateway 这两个漏洞还挺重要的,特别是第一个远程代码执行,特别危险,自行检查,废话不多说了,如果有涉及到的,尽快修复保平安。

学 Spring Cloud 必须先掌握 Spring Boot,如果你还没用过 Spring Boot,今天我就送你一份 《》这个很全了,包括底层实现原理及代码实战,非常齐全,助你快速打通 Spring Boot 的各个环节。

Spring Boot 理论和实战源码仓库:

https://github.com/javastacks/spring-boot-best-practice

参考资料:

https://spring.io/blog/2022/03/01/spring-cloud-gateway-cve-reports-published
https://tanzu.vmware.com/security/cve-2022-22947
突发!Spring Cloud 爆高危漏洞。。赶紧修复!!













关注Java技术栈看更多干货



突发!Spring Cloud 爆高危漏洞。。赶紧修复!!
获取 Spring Boot 实战笔记!