当前位置: 首页 > 后端技术 > Java

SpringCloudFunction3.0.0.RELEASE~3.2.2版本SPEL表达式注入

时间:2023-04-02 01:49:13 Java

实验室昨天首次检测到0day漏洞,目前已经上线测试。一、简介3月25日,墨菲安全实验室监测发现SpringCloudFunction修复了Spel表达式注入漏洞,并已于2022年3月25日17:00提交CNVD,并上线检测能力。漏洞发现时间:2022-03-24漏洞验证时间:2022-03-25,CNVD首次提交标题:SpringCloudFunction3.0.0.RELEASE~3.2.2版本SPEL表达式注入漏洞发现方法:墨菲安全实验室智能告警监控语言:java影响组件及版本:org.springframework.cloud:spring-cloud-function-context(影响版本:3.0.0.RELEASE~3.2.2)缺陷前提:在properties.cloud.function中配置spring。definition=functionRouter漏洞描述:SpringCloudFunction是Springcloud中的一个serverless框架。SpringCloudFunction中RoutingFunction类的apply方法将请求头中的“spring.cloud.function.routing-expression”参数处理为Spel表达式,导致Spel表达式注入漏洞。攻击者可利用此漏洞执行任意代码。漏洞类型:Spel表达式注入漏洞排查方法:在项目代码目录下执行如下命令获取org.springframework.cloud:spring-cloud-function-context组件版本,组件版本在[3.0.0.RELEASE~3.2.2】grep-A2'spring-cloud-function-context'pom.xml之间使用Murphy安全客户端进行检测和处置。建议发布官方修正补丁。参考链接:https://github.com/spring-clo。..升级org.springframework.cloud:spring-cloud-function-context到3.2.2下一个版本(待发布)漏洞评分:8.5参考链接:https://github.com/spring-cloud/spring-cloud-function/commit/0e89ee27b2e76138c16bcba6f4bca906c4f3744f2.缺陷分析通过diff可以发现开发者使用SimpleEvaluationContext进行SPEL分析,而之前的版本使用的是StandardEvaluationContext。当启用spring.cloud.function.definition=functionRouter配置时,将触发RoutingFunction逻辑。当传入的spring.cloud.function.routing-expression参数可控时,执行SPEL表达式。3、漏洞保护目前开发者已提交修复补丁:https://github.com/spring-cloud/spring-cloud-function/commit/0e89ee27b2e76138c16bcba6f4bca906c4f3744fMurphySecurity昨日第一时间将该漏洞报告给CNVD,并同步上线墨菲安全开源版和企业版除了具备检测能力外,还支持检测,欢迎免费使用。开源地址:https://github.com/murphysecurity产品官网:https://www.murphysec.com/(限时开放注册)四、关于MurphySecurityMurphySecurity是一家为您提供一家专业的软件供应链安全管理技术创新公司,能力包括开源组件安全检测、云原生容器安全、开源组件许可合规管理、软件组件分析(SCA)、软件供应链安全评估等,丰富的安全工具帮助您构建完整的软件开发安全能力(DevSecOps)。公司核心团队来自百度、华为、壳牌等公司,拥有十余年企业安全建设、安全产品研发、安全攻防经验。关于墨菲安全实验室墨菲安全实验室是墨菲安全旗下的安全研究团队,专注于软件供应链安全领域的技术研究。实验室的研究方向包括开源组件、闭源软件和其他供应链软件。缺陷分析,从而建立MurphySecurity专业的缺陷知识库。