一、漏洞概述
近日,绿盟科技CERT监测到Spring发布报告修复Spring Cloud Gateway 代码注入漏洞(CVE-2022-22947),由于Spring Cloud Gateway的Actuator端点存在缺陷,当用户启用并暴露了不安全的 Gateway Actuator 端点时,使用了 Spring Cloud Gateway的应用程序容易受到代码注入攻击。未经身份验证的攻击者通过向目标系统发送特制的SpEL表达式进行注入,可实现远程代码执行。CVSS评分为10,目前漏洞PoC已公开,请相关用户尽快采取措施进行防护。
Spring Cloud Gateway是基于 Spring Framework 和 Spring Boot 构建的 API 网关,目标旨在为微服务架构提供一种简单、有效、统一的 API 路由管理方式。
参考链接:
https://tanzu.vmware.com/security/cve-2022-22947
二、影响范围
受影响版本
- Spring Cloud Gateway 3.1.0
- 0.0 <= Spring Cloud Gateway <= 3.0.6
- Spring Cloud Gateway 其他已停止维护的版本
不受影响版本
- Spring Cloud Gateway >= 3.1.1
- Spring Cloud Gateway >= 3.0.7
三、漏洞检测
3.1 人工排查
相关用户可查看Spring的配置文件中,是否有对外启用Spring Cloud Gateway的Actuator端点,例:在application.properties中,是否存在以下配置:
若存在且Spring Cloud Gateway版本在影响范围,则存在安全风险。
四、漏洞防护
4.1 官方升级
目前官方已发布安全补丁与新版本修复了该漏洞,请受影响的用户尽快更新版本进行防护,官方下载链接:https://spring.io/blog/2022/02/18/spring-cloud-2021-0-1-has-been-released
4.2 其他防护措施
若相关用户暂时无法进行更新操作,可使用下列措施进行临时缓解:
1、如果业务不需要使用Gateway actuator端点,可通过修改配置文件为management.endpoint.gateway.enabled: false进行禁用。
2、如果需要使用actuator,则需使用 Spring Security对其进行防护,操作可参考官方指南:https://docs.spring.io/spring-boot/docs/current/reference/html/actuator.html#actuator.endpoints.security。
声明
本安全公告仅用来描述可能存在的安全问题,绿盟科技不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,绿盟科技以及安全公告作者不为此承担任何责任。
绿盟科技拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经绿盟科技允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。