遵纪守法

任何个人和组织使用网络应当遵守宪法法律,遵守公共秩序,尊重社会公德,不得危害网络安全,不得利用网络从事危害国家安全、荣誉和利益

漏洞描述

Spring Cloud GateWay是Spring Cloud的⼀个全新项⽬,⽬标是取代Netflix
Zuul,它基于Spring5.0+SpringBoot2.0+WebFlux(基于⾼性能的Reactor模式响应式通信框架Netty,异步⾮阻塞模型)等技术开发,性能⾼于Zuul,官⽅测试,GateWay是Zuul的1.6倍,旨在为微服务架构提供⼀种简单有效的统⼀的API路由管理⽅式。

Spring Cloud Gateway 远程代码执行漏洞(CVE-2022-22947)发生在Spring Cloud
Gateway应用程序的Actuator端点,其在启用、公开和不安全的情况下容易受到代码注入的攻击。攻击者可通过该漏洞恶意创建允许在远程主机上执行任意远程执行的请求。

CVE 编号

CVE-2022-22947

风险等级

高危

影响版本

Spring Cloud Gateway 3.1.x < 3.1.1
Spring Cloud Gateway < 3.0.7

资产确定

app="vmware-SpringBoot-framework"

漏洞检测

首先,发送如下数据包即可添加一个包含恶意SpEL表达式的路由:

然后,发送如下数据包应用刚添加的路由。这个数据包将触发SpEL表达式的执行:

发送如下数据包即可查看执行结果:

最后,发送如下数据包,删除所添加的路由:

POC

https://github.com/lucksec/Spring-Cloud-Gateway-CVE-2022-22947

EXP

https://github.com/An0th3r/CVE-2022-22947-exp

修复建议

临时修复建议:
如果不需要网关执行器端点,则应通过 management.endpoint.gateway.enabled: false 禁用它。如果需要执行器,则应使用 Spring Security 对其进行保护,请参阅https://docs.spring.io/spring-boot/docs/current/reference/html/actuator.html#actuator.endpoints.security。
通用修复建议:

官方已发布安全版本,请及时下载更新,下载地址:https://github.com/spring-cloud/spring-cloud-gateway