赞
踩
继 Log4j 2 之后,听闻 Java 再次遭到漏洞攻击,这一次,似乎情况也更为严重,因为受到影响的是 Java 平台的开源全栈应用程序框架和控制反转容器实现——Spring 家族,而且网传漏洞还不止一个。
一直以来,Spring 是编程开发的必选技术之一,此前一位名为 Bogdan N. 的全栈开发者甚至评价道:“学习 Java、学习 Spring 框架,你永远都不会失业。”
可想而知,如果 Spring 城门失火,Java 必定遭殃。不过,Spring RCE 漏洞在网络上炒了两天,虽然有不少安全圈人员纷纷发圈,但更多的还是表示了只是听闻,这也不禁让人质疑,是真有漏洞,还是虚惊一场?
接下来,本文将盘点一下近期 Spring 的“大”漏洞。
3 月 26 日,据网络安全网站 Cyber Kendra 报道,Spring Cloud Function 官方测试用例曝光了 Spring Cloud Function SPEL(Spring Expression Language)表达式注入漏洞,黑客可利用该漏洞注入 SPEL 表达式来触发远程命令执行。
漏洞发现过程
起初,研究人员在分析 Spring Cloud 函数的 main 分支(https://github.com/spring-cloud/spring-cloud-function/commit/dc5128b80c6c04232a081458f637c81a64fa9b52)时,发现有开发者向其中添加了 SimpleEvaluationContext 类。还使用了 isViaHeadervariable 作为标志,在解析 spring.cloud.function.routing-expression 之前判断的值取自 HTTP header。
spring.cloud.function.routing-expression 的参数存在于访问 Spring Cloud Function 的 HTTP 请求头中,其 SpEL 表达式可以通过 StandardEvaluationContext 注入并执行。这使得攻击者可以利用这个漏洞进行远程命令执行。
Spring Cloud Function 的应用
当前,Spring Cloud Function 被许多科技巨头应用于产品中,包括 AWS Lambda、Azure、Google Cloud Functions、Apache OpenWhisk 以及许多 Serverless 服务提供商。
根据官方文档,Spring Cloud Function 是基于 Spring Boot 的函数计算框架,它可以:
通过函数促进业务逻辑的实现。
将业务逻辑的开发生命周期与任何特定的运行时目标分离,以便使用相同的代码可以作为 Web
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。