Spring Cloud Gateway 是 Spring Cloud 下的一个项目,该项目是基于 Spring 5.0、Spring Boot 2.0 和 Project Reactor 等技术开发的网关,它旨在为微服务架构提供一种简单有效统一的 API 路由管理方式。
漏洞详情
近日,VMware 官方发布安全公告,其中包含 Spring Cloud Gateway 远程代码执行漏洞(CVE-2022-22947)。使用 Spring Cloud Gateway 的应用如果对外暴露了 Gateway Actuator 接口,则可能存在被 CVE-2022-22947 漏洞利用的风险,攻击者可通过利用此漏洞执行 SpEL 表达式,从而在目标服务器上执行任意恶意代码,获取系统权限。
影响范围
Spring Cloud Gateway 3.1.x < 3.1.1
Spring Cloud Gateway 3.0.x < 3.0.7
其他旧的、不受支持的 Spring Cloud Gateway 版本
修复建议:
1.更新升级 Spring Cloud Gateway 到以下安全版本:
Spring Cloud Gateway 3.1.1
Spring Cloud Gateway 3.0.7
缓解建议:
官方已发布漏洞补丁及修复版本,请评估业务是否受影响后,酌情升级至安全版本 临时缓解措施:
1.如果不需要Gateway actuator endpoint,可通过 management.endpoint.gateway.enabled: false 禁用它。
2.如果需要actuator,则应使用 Spring Security 对其进行防护,可参考:https://docs.spring.io/spring-boot/docs/current/reference/html/actuator.html#actuator.endpoints.security。
排查工具
需要排查项目里是否有用到相关jar包,可以安装Maven Helper来排查。详细请跳转:
https://blog.youkuaiyun.com/lujiawei00/article/details/123274155
排查结果如下图所示: