Spring Cloud 突发漏洞 Log4j2 的核弹级漏洞刚告一段落,Spring Cloud Gateway 又突发高危漏洞,又得折腾了。。。
2022年3月1日,Spring官方发布了关于Spring Cloud Gateway的两个CVE漏洞,分别为CVE-2022-22946与CVE-2022-22947:
版本/分支/tag: 3.4.X
问题描述
文章图片
Spring Cloud Gateway 是 Spring Cloud 下的一个项目,该项目是基于 Spring 5.0、Spring Boot 2.0 和 Project Reactor 等技术开发的网关,它旨在为微服务架构提供一种简单有效、统一的 API 路由管理方式。
漏洞1:Spring Cloud Gateway 远程代码执行漏洞(CVE-2022-22947) 3 月 1 日,VMware 官方发布安全公告,声明对 Spring Cloud Gateway 中的一处命令注入漏洞进行了修复,漏洞编号为 CVE-2022-22947:
https://tanzu.vmware.com/security/cve-2022-22947
漏洞描述
使用 Spring Cloud Gateway 的应用如果对外暴露了 Gateway Actuator 端点时,则可能存在被 CVE-2022-22947 漏洞利用的风险。攻击者可通过利用此漏洞执行 SpEL 表达式,允许在远程主机上进行任意远程执行。,获取系统权限。
影响范围
漏洞利用的前置条件:
- 除了 Spring Cloud Gateway 外,程序还用到了 Spring Boot Actuator 组件(它用于对外提供 /actuator/ 接口);
- Spring 配置对外暴露 gateway 接口,如 application.properties 配置为:
# 默认为true
management.endpoint.gateway.enabled=true# 以逗号分隔的一系列值,默认为 health
# 若包含 gateway 即表示对外提供 Spring Cloud Gateway 接口
management.endpoints.web.exposure.include=gateway
漏洞影响的 Spring Cloud Gateway 版本范围:
- Spring Cloud Gateway 3.1.x < 3.1.1
- Spring Cloud Gateway 3.0.x < 3.0.7
- 其他旧的、不受支持的 Spring Cloud Gateway 版本
更新升级 Spring Cloud Gateway 到以下安全版本:
- Spring Cloud Gateway 3.1.1
- Spring Cloud Gateway 3.0.7
在application.properties 中设置 :
management.endpoint.gateway.enabled 为 false。
漏洞2:CVE-2022-22946:Spring Cloud Gateway HTTP2 不安全的 TrustManager 漏洞描述
使用配置为启用 HTTP2 且未设置密钥存储或受信任证书的 Spring Cloud Gateway 的应用程序将被配置为使用不安全的 TrustManager。这使得网关能够使用无效或自定义证书连接到远程服务。
影响范围
Spring Cloud Gateway = 3.1.0
解决方案
官方已经发布安全版本,请升级到3.1.1+
参考资料
官方已经发布安全版本,请升级到3.1.1+
- https://tanzu.vmware.com/security/cve-2022-22946
- https://tanzu.vmware.com/security/cve-2022-22947
推荐阅读
- java|Spring框架JDN注入漏洞信息及排查方法
- HarmonyOS|HarmonyOS开发详解(二)——鸿蒙开发体系详解及入门实例演示运行
- 突发!Spring 也沦陷了。。。
- #|SpringBoot整合redis
- Java|一篇文章带你吃透,Java界最神秘技术ClassLoader
- java|java nio 即时通讯_Java的BIO和NIO很难懂(用代码实践给你看,再不懂我转行!)
- 算法练习300题|【leetcode刷题】19.回文链表——Java版
- 超级实习生|“进厂”第一课(大厂Java岗实习要求大盘点(内附2022/2023校招渠道整理))
- java面向对象学习|初学java(斐波那契数列的java实现)