搜索

Spring Cloud Function SpEL 表达式注入

发布网友 发布时间:2024-10-24 15:26

我来回答

1个回答

热心网友 时间:2024-11-06 16:19

Spring Cloud Function,作为基于Spring Boot的函数计算框架,为开发者提供了一个在多种FaaS平台如AWS Lambda上部署功能的通用模型。它简化了底层传输和架构,让开发者专注于核心业务逻辑。然而,从版本3.0.0到3.2.2(包括未发布的3.2.2),存在一个Spring Cloud Function SpEL表达式注入的安全漏洞。

要复现这个漏洞,首先通过Spring Initializr创建一个项目,选择Java和特定JDK版本,添加Spring Web和Function依赖。默认情况下,无需修改,启动项目并在本地8080端口发送特定payload即可观察到问题。

漏洞根源在于RoutingFunction组件,其在处理带有特定Header信息的请求时,会使用SpEL解析routingExpression,导致表达式注入。原始代码中,解析过程使用了安全隐患较大的StandardEcaluationContext,而官方修复中引入了仅支持基本功能的SimpleEvaluationContext,同时引入了isViaHead参数,以判断表达式是否来自Header。

修复建议是,在官方发布正式版本前,务必备份数据,以防意外。你可以选择拉取最新修复代码并重新编译以临时避免漏洞。同时,官方已针对此漏洞进行修复,但具体何时发布新版本还需关注官方公告。
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
Top