漏洞背景
Spring是Java EE编程领域的一个轻量级开源框架,Spring Cloud Function 是基于 Spring Boot 的函数计算框架,其抽象出所有传输细节和基础架构,允许开发人员保留所有熟悉的工具和流程,并专注于业务逻辑。近日,飓风安全监测到Spring Cloud官方提交了一个修复代码,解决了在Spring Cloud Function中存在的一个SPEL表达式注入漏洞。该漏洞利用方式简单,影响范围较大,且该漏洞的利用细节已公开,建议受影响用户尽快安装更新补丁,避免受到影响。
漏洞原理
该漏洞是由于Spring Cloud Function的RoutingFunction类未能正确处理用户发送的数据,导致其apply方法错误地将请求头中”spring.cloud.function.routing-expression”的参数识别为SPEL表达式,未经身份验证的恶意攻击者通过发送带有恶意命令的请求数据,能够在目标服务器上执行任意代码。
■ 漏洞复现
搭建受影响版本的Spring Cloud Function并运行,构造带有恶意命令的数据发送至服务器,成功执行命令:
影响范围
3.0.0.RELEASE <= Spring Cloud Function <= 3.2.2
漏洞等级:高危
处置方法
■ 漏洞排查方法
用户可排查应用程序中对spring-cloud-function组件的引用情况,并检查当前使用的版本:
1. 若程序使用Maven打包,根据项目pom.xml文件中是否引用了spring-cloud-function-context组件:
2. 对使用了org.springframework.cloud:spring-cloud-function-context组件的项目代码,可使用以下命令查看版本:
Grep -A 2 'spring-cloud-function-context' pom.xml
■ 官方补丁
目前官方已提交修复代码,但暂未发布新版本,请受影响用户及时关注并尽快更新,官方链接:
https://github.com/spring-cloud/spring-cloud-function/commit/0e89ee27b2e76138c16bcba6f4bca906c4f3744f
原文始发于微信公众号(飓风网络安全):Spring Cloud Function SPEL表达式注入漏洞通告
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论