Spring Cloud Gateway RCE 一、基本介绍 CVE编号:CVE-2022-22947 Spring Cloud Gateway是Spring中的一个API网关。其3.1.0及3.0.6版本(包含)以前存在一处SpEL表达式注入漏洞,当攻击者可以访问Actuator API的情况
Spring Cloud Gateway是Spring Cloud微服务架构中的一个API网关组件,它基于Spring Framework和Spring Boot构建,旨在为微服务架构提供一种简单、有效、统一的API路由管理方式。通过Gateway,可以实现请求的路由转发、过滤、监控等功能,是微服务架构中不可或缺的一部分。 2. 阐述远程代码执行(RCE)的概念 远程代码执行(Remote ...
然后在ctx.lookup(name)中传入我们指定的恶意 LDAP 服务地址,从而触发 RCE 这里虽然可以实现了 RCE,但实际上你可以发现,必须要有一个支持 jms 代理的类(org.apache.activemq.jndi.ActiveMQInitialContextFactory)才可以,否则是会报错的,如果实际业务代码或引用的包中没有 jms 代理类,就显得就十分鸡肋+苛刻了 那么...
接下来就是定位参数值从哪里获取了,因为是分析1day漏洞,知道poc怎么写,大致清楚是从route的配置信息中获取的,这里的值也是从org/springframework/cloud/gateway/support/ConfigurationService.java的this.properties中获取的,查看该成员变量的赋值情况 查看传入处,可以定位到definition变量,这个变量是从filter中获取的值,通过...
漏洞原理 先看看cve的描述 当Gateway Actuator 打开时容易受到注入攻击。Spring Cloud Gateway 官网上软件的运行流程图示。 简单介绍:客户端向Spring Cloud GateWay发出请求,然后在GateWay Handler Mapping中找到与请求相匹配的路由,将其发送到GateWay Web Handler;Handler再通过指定的过滤器链来将请求发送到我们实际的服务...
https://github.com/spring-cloud/spring-cloud-gateway/tags 2、无法及时升级的用户,可参考官方提供的修复建议进行缓解: 如果不需要Gateway Actuator 端点,通过 management.endpoint.gateway.enabled: false 禁用它。 0x04 漏洞复现 下载spring-gateway-demo的jar包 ...
当Gateway Actuator端点是启用状态并且是允许访问的以及相关配置不安全时,使用Spring Cloud Gateway的应用程序容易受到代码注入攻击。远程攻击者可以利用Actuator动态添加恶意路由,若路由中包括SPEL表达式则在路由刷新时会对其进行解析从而达到SPEL表达式注入 0x01 漏洞复现 ...
Spring Cloud Gateway曾出现CVE-2022-22947漏洞,该漏洞允许攻击者通过动态配置路由,执行SpEL表达式注入漏洞,当攻击者可以访问Actuator API的情况下,将可以利用该漏洞执行任意命令。但实际情况可能有很多Spring Cloud Gateway存在漏洞,但未开放Actuator API,所以导致无法利用。但如果在资产收集时发现目标存在nacos,并且可用弱...
CVE-2022-22947 SpringCloud GateWay SPEL RCE 漏洞分析,直接去 GitHub 上下载即可。 git clone https://github.com/spring-cloud/spring-cloud-gateway cd spring-cloud-gateway git checkout v3.1.0 0x01 漏洞分析 首先这个漏洞的本质就是一个Spel表达式注入。漏洞的触发点位于org/springframework/cloud/gateway/...