点击蓝字
关注我们
01
漏洞分析
漏洞描述
Spring Cloud Function SPEL表达式注入漏洞源于Spring Cloud Function的RoutingFunction类的apply方法未能正确处理用户输入的数据。未经授权的远程攻击者可以利用该漏洞在请求header中加入spring.cloud.function.routing-expression参数及SPEL表达式,在目标服务器上执行任意代码。
Spring框架应用面极广,影响面极大,通过ZoomEye网络空间搜索引擎对潜在的目标进行搜索,共得到486,661条IP记录,主要分布在中国、美国等国家。目前该漏洞相关POC已在互联网公开,攻击复杂度低。建议相关用户及时开展安全自查,及时进行修补更新,做好相关防护措施,避免被外部攻击者入侵。
组件介绍
Spring Cloud Function 是来自 Pivotal 的 Spring 团队的新项目,它致力于促进函数作为主要的开发单元。该项目提供了一个通用的模型,用于在各种平台上部署基于函数的软件,包括像 Amazon AWS Lambda 这样的 FaaS(函数即服务,function as a service)平台。
02
漏洞详情
威胁等级
高危
漏洞类型
远程代码执行
利用条件
1、用户认证:不需要用户认证
2、前置条件:默认配置
3、触发方式:远程
影响范围
3.0.0.M3 <= Spring Cloud Function <=3.2.2
03
漏洞防护
如何检测组件系统版本
方案一
全盘搜索 spring-cloud-function,如果存在 spring-cloud-function 相关依赖。
则用户可能受漏洞影响。
方案二
如果项目是由 maven 编译的(一般在项目根目录下会有 pom.xml)
打开 pom.xml 文件,如图:
在此文件中搜索 spring-cloud-function,如果可以搜索到关键字,并且标签内部的字段在 3.0.0.M3 版本及以上并且不大于 3.2.2,则可能受到漏洞的影响。(图中的 spring-cloud-function 的相关依赖版本是 3.1.1,在漏洞影响范围内)
方案三
用户可排查应用程序中对spring-cloud-function组件的引用情况,并检查当前使用的版本:
若程序使用Maven打包,可查看项目的pom.xml文件中是否引入相关组件:
对使用了org.springframework.cloud:spring-cloud-function-context组件的项目代码,可使用以下命令查看版本:
grep-A 2'spring-cloud-function-context'pom.xml
若当前版本在受影响范围内,则存在安全风险。
官方修复建议
当前官方已发布受影响版本的对应补丁,建议受影响的用户及时更新官方的安全补丁。链接如下:
https://github.com/spring-cloud/spring-cloud-function/tree/0e89ee27b2e76138c16bcba6f4bca906c4f3744f
04
声明
本安全公告仅用来描述可能存在的安全问题,易硕信息不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,易硕信息以及安全公告作者不为此承担任何责任。
易硕信息拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经易硕信息允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。
扫码关注我们
联系电话:0592-2291069
地址:厦门市后埭溪路28号皇达大厦十一层H、N单元
原文始发于微信公众号(易硕信息):【安全通告】Spring Cloud Function SpEL 表达式注入漏洞
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论