SpringCloudFunction漏洞分析
发布网友
发布时间:2024-10-24 15:26
我来回答
共1个回答
热心网友
时间:1天前
SpringCloudFunction的漏洞剖析
SpringCloudFunction是SpringBoot开发的函数式微服务中间件,专为构建Serverless应用提供支持,特别是通过SpEL实现动态路由功能。在3.0.0到3.2.2(commit dc5128b之前)的版本区间内,存在一个严重的安全漏洞:SpEL表达式执行可能导致远程代码执行(RCE)。
问题的关键在于,在main分支的commit dc5128b中,对SimpleEvaluationContext进行了引入。这个变更通过isViaHeader变量标识,如果路由表达式来自HTTP头,会使用SimpleEvaluationContext解析,否则使用StandardEvaluationContext。官方测试案例中明确指出了漏洞所在和触发条件,即HTTP头中的spring.cloud.function.routing-expression。
要复现漏洞,最初可能需要花费一些时间研究文档和搭建环境。官方提供的示例(github.com/spring-cloud...)成为了搭建测试环境的有效工具。
值得注意的是,受影响的范围仅限于使用特定配置的动态路由功能(functionRouter),并且SpEL表达式的变种,如charset和replace等,增加了修复的复杂性。
默安科技安全研究院旗下的“逐日”团队,致力于安全研究,涵盖漏洞挖掘、逆向工程、攻防对抗和代码审计等领域,不断追逐技术前沿,为产品安全提供保障。