点击“终码一生”,关注,置顶公众号
每日技术干货,第一时间送达!
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、漏洞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 再爆高危漏洞.... 赶紧修复】使用 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
或者在不考虑影响业务的情况下禁用 Gateway actuator 接口:
在application.properties 中设置 :
management.endpoint.gateway.enabled 为 false。
2、漏洞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
PS:防止找不到本篇文章,可以收藏点赞,方便翻阅查找哦。
推荐阅读
- 漏洞通报|CVE-2022-22947 SpringCloud Gateway 远程命令执行漏洞
- java|Java8接口–默认方法和静态方法
- JUnit5教程(2)_JUnit5测试生命周期及与JUnit4注解的不同
- JavaSE|【JavaSE】面向对象编程必备技能,你学会了吗(继承、多态、抽象类、接口详解)
- web安全|网络安全笔记
- 01|小饶学编程之JAVA SE第一部分——面向对象(10抽象类和接口)
- 笔记|网络安全-安全服务工程师-技能手册详细总结(建议学习収藏)
- 安全|软考-中级-网络工程师-笔记-第3章-广域通信网
- JavaSE|JavaSE——面向对象(五)(抽象类,接口)