跳到主要内容

【14】Spring Cloud Gateway 远程代码执行漏洞(CVE-2022-22947)

文章目录

    • 漏洞说明
  • 影响范围
  • 漏洞复现
      1. 搭建项目
      1. 注入恶意代码
  • 解决方案

漏洞说明

近日,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. 搭建项目

参照本系列之前的文档搭建几个项目,并集成Actuator参考文档
 
访问Actuator 路由端点,API 参考文档

GET http://localhost:8443/actuator/gateway/routes

 

2. 注入恶意代码

执行恶意代码分为两步:

  • 添加携带恶意代码的路由
  • 刷新路由信息

首先访问actuator 端点,添加一个携带了恶意代码(执行打开计算器)的路由: