一、漏洞描述
SpringCloudFunction是基于SpringBoot的函数计算框架,它抽象出所有传输细节和基础架构,允许开发人员保留所有熟悉的工具和流程,并专注于业务逻辑。
近日,监测SpringCloud官方修复了一个SpringCloudFunction中的SPEL表达式注入漏洞,由于SpringCloudFunction中RoutingFunction类的apply方法将请求头中的“spring.cloud.function.routing-expression”参数作为Spel表达式进行处理,造成了Spel表达式注入漏洞,未经授权的远程攻击者可利用该漏洞执行任意代码。目前漏洞攻击代码已经公开,建议使用该系统的用户尽快采取安全措施。
漏洞等级:高危。
影响版本:3.0.0.RELEASE<=SpringCloudFunction<=3.2.2
二、漏洞排查和修复
1.用户可排查应用程序中对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
若当前版本在受影响范围内,则存在安全风险。
2.目前,Spring官方已发布新版本完成漏洞修复,建议受漏洞影响的产品(服务)厂商和信息系统运营者尽快进行自查,并及时升级至最新版本。
网络信息中心
2022年4月1日