安全通告

漏洞名称

Spring Cloud Function SpEL表达式注入漏洞

公开时间

2022-03-25

更新时间

2022-03-26

CVE编号

暂无

其他编号

QVD-2022-1680

威胁类型

任意代码执行

技术类型

SpEL表达式注入

厂商

开放源代码项目

产品

Spring Cloud Function

风险等级

奇安信CERT风险评级

风险等级

高危

蓝色(一般事件)

实时威胁状态

POC状态

EXP状态

在野利用状态

技术细节状态

已公开

未发现

未发现

已公开

漏洞描述

Spring Cloud Function SpEL表达式注入漏洞,远程攻击者在无需认证的情况下,构造特定的数据包,在header中添加"spring.cloud.function.routing-expression"参数并携带SpEL表达式,成功利用此漏洞可实现任意代码执行。

影响版本

3.0.0.M3 <= Spring Cloud Function <=3.2.2< p="">

不受影响版本

Spring Cloud Function == 4.0.0-M1(目前官方尚未正式发布)

漏洞信息

Spring Cloud Function 是来自 Pivotal 的 Spring 团队的新项目,它致力于促进函数作为主要的开发单元。该项目提供了一个通用的模型,用于在各种平台上部署基于函数的软件,包括像 Amazon AWS Lambda 这样的 FaaS(函数即服务,function as a service)平台。

近日,奇安信CERT监测到Spring Cloud Function SpEL表达式注入漏洞,远程攻击者在无需认证的情况下,构造特定的数据包,在header中添加"spring.cloud.function.routing-expression"参数并携带SpEL表达式,成功利用此漏洞可实现任意代码执行。

目前,此漏洞细节及PoC已公开,经奇安信CERT验证,此漏洞POC有效。鉴于此漏洞PoC已公开,建议客户尽快做好自查及防护。

奇安信CERT已成功复现Spring Cloud Function SpEL表达式注入漏洞,复现截图如下:

威胁评估

漏洞名称

Spring Cloud Function SpEL表达式注入漏洞

CVE编号

暂无

其他编号

QVD-2022-1680

CVSS 3.1评级

高危

CVSS 3.1分数

9.8

CVSS向量

访问途径(AV

攻击复杂度(AC

网络

用户认证(Au

用户交互

不需要

不需要

影响范围

机密性影响(C

不改变

完整性影响(I

可用性影响(A

危害描述

Spring Cloud Function SpEL表达式注入漏洞,远程攻击者在无需认证的情况下,构造特定的数据包,在header中添加"spring.cloud.function.routing-expression"参数并携带SpEL表达式,成功利用此漏洞可实现任意代码执行。

处置建议

目前,Spring Cloud Function官方已针对此漏洞进行修复,但还没有发布正式版本。

建议等待官方发布修复版本或自行下载修复代码进行手动编译。

修复版本地址:https://github.com/spring-cloud/spring-cloud-function/tree/0e89ee27b2e76138c16bcba6f4bca906c4f3744f

排查方法:

如果程序使用Maven打包,可以通过排查项目的pom.xml文件中是否引入spring-cloud-function相关依赖,确认其版本是否在受影响范围内。

参考资料

[1]https://github.com/spring-cloud/spring-cloud-function/tags

[2]https://github.com/spring-cloud/spring-cloud-function/commit/0e89ee27b2e76138c16bcba6f4bca906c4f3744f

[3]https://github.com/spring-cloud/spring-cloud-function/tree/0e89ee27b2e76138c16bcba6f4bca906c4f3744f

声明:本文来自奇安信 CERT,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。