点击关注公众号,Java干货及时送达
Spring Cloud 突发漏洞
大家好,我是栈长。
Log4j2 的核弹级漏洞刚告一段落,Spring Cloud Gateway 又突发高危漏洞,又得折腾了。。。
昨天栈长也看到了一些安全机构发布的相关漏洞通告,Spring Cloud 官方博客也发布了高危漏洞声明:
Spring Cloud 中的 Spring Cloud Gateway 组件被爆出了两个安全漏洞。
“
Spring Cloud Gateway 是 Spring Cloud 的第二代网关组件,是 Spring Cloud Finchley 版推出来的新组件,用来代替第一代服务网关:Zuul。
Spring Cloud Gateway 的主要作用是:为微服务架构提供一种简单、有效、统一的 API 路由管理方式。
具体可以参考:Spring Cloud Gateway VS Zuul 比较,怎么选择?
”
漏洞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 就能被无效或自定义的证书连接到远程服务。
另外,如果你想关注和学习最新、最主流的 Java 技术,栈长会持续分享,可以持续关注公众号Java技术栈,公众号第一时间推送。
解决方案
1、升级版本
Spring Cloud 2021.0.x 用户可以把主版本升级到 Spring Cloud 2021.0.1,Spring Cloud Gateway 已升级到了 3.1.1。
“
这个在前几天的《新年首发!Spring Cloud 2021.0.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 的各个环节。
Spring Boot 理论和实战源码仓库:
“
https://github.com/javastacks/spring-boot-best-practice
”
最后,如果你想关注和学习最新、最主流的 Java 技术,可以持续关注公众号Java技术栈,公众号第一时间推送。
参考资料:
“
版权声明: 本文系公众号 "Java技术栈" 原创,原创实属不易,转载、引用本文内容请注明出处,抄袭者一律举报+投诉,并保留追究其法律责任的权利。
”
关注Java技术栈看更多干货
文章评论