0x01 漏洞描述
Spring Cloud Gateway 是基于 Spring Framework 和 Spring Boot 构建的 API 网关,它旨在为微服务架构提供一种简单、有效、统一的 API 路由管理方式。
据公布的漏洞描述称,当Spring Cloud Gateway 执行器端点启用、公开且不安全时,使用Spring Cloud Gateway的应用程序容易受到代码注入攻击。远程攻击者可以发出含有恶意代码的请求,从而允许在远程主机上任意远程执行。
0x02 漏洞影响
漏洞编号:CVE-2022-22947
影响版本:
-
Spring Cloud Gateway < 3.1.1
-
Spring Cloud Gateway < 3.0.7
-
Spring Cloud Gateway 较低、不受支持的版本也会受到影响
风险等级:
【高危】攻击者可利用该漏洞远程执行任意代码,目前已发现公开漏洞POC。
0x03 环境搭建
本次在ubuntu云服务器上利用docker搭建漏洞复现环境
git clone https://github.com/vulhub/vulhub
cd vulhub/spring/CVE-2022-22947/
docker-compose up -d //启动环境
docker ps -a //查看测试环境运行情况
访问地址:http://IP:8080
0x04 漏洞分析
部分源码:
static Object getValue(SpelExpressionParser parser, BeanFactory beanFactory,
String entryValue) {
Object value;
String rawValue = entryValue;
if (rawValue != null) {
rawValue = rawValue.trim();
}
if (rawValue != null && rawV