【漏洞描述】
近日,监测到Spring Cloud Function修复了一处SPEL表达式注入漏洞,未经授权的远程攻击者可利用该漏洞在目标 Spring Cloud Function系统中执行任意代码。
Spring Cloud Function SPEL表达式注入漏洞:由于 Spring Cloud Function 中 RoutingFunction 类的apply方法将请求头中的“spring.cloud.function.routing-expression”参数作为 Spel 表达式进行处理,造成了Spel表达式注入漏洞,未经授权的远程攻击者可利用该漏洞执行任意代码。
相关链接参考:
https://github.com/spring-cloud/spring-cloud-function/commit/0e89ee27b2e76138c16bcba6f4bca906c4f3744f
严重等级:高危
【影响范围】
Spring Cloud Function SPEL表达式注入漏洞影响范围:
3 <= spring-cloud-function-context <= 3.2.2
3 <= spring-cloud-function-core <= 3.2.2
【修复建议】
目前漏洞细节和利用代码已经公开,攻击者可利用该漏洞远程在目标系统上执行任意代码,建议使用相关系统的用户尽快采取安全措施。
检测:
对使用了spring-cloud-function-context 组件的项目代码进行排查,可用以下命令查看版本:
grep -A 2 'spring-cloud-function-context' pom.xml
grep -A 2 'spring-cloud-function-core' pom.xml
若当前版本在受影响范围内,则存在安全风险。
处置措施:
1、临时补丁:目前官方已发布修复补丁,参考地址:
https://github.com/spring-cloud/spring-cloud-function/commit/0e89ee27b2e76138c16bcba6f4bca906c4f3744f
2、更新Spring Cloud Function至安全版本(目前官方最新安全版本暂未发布,建议持续关注官方相关公告)。