突发!Spring Cloud 也沦陷了。。。

2022-03-31 14:10:11 浏览数 (1)

点击关注公众号,Java干货及时送达

大家好,我是栈长。

相信大家看到了昨天的 Spring 漏洞,严重级别仅为中等,不必慌张,

栈长没想到的是,自这个月初 Spring Cloud Gateway 突发高危漏洞,现在 Spring Cloud 另外一个 Spring Cloud Function 模块也沦陷了。。。

来看最新昨天 Spring 官方博客发布的漏洞声明:

漏洞描述:

在使用路由功能时,用户可以制作特制的 SpEL 表达式作为路由表达式,从而导致用户可以 访问本地资源 的漏洞。

严重级别:中等(不必惊慌)

影响范围:

  • Spring Cloud Function 3.1.6 & 3.2.2
  • 其他老版本、不受支持的版本也会受到影响

解决方案:

手动升级到最新版本:Spring Cloud Function 3.1.7 & 3.2.3


如果你想关注和学习最新、最主流的 Java 技术,可以持续关注公众号Java技术栈,公众号第一时间推送。

Spring Cloud Function 扫盲:

Spring Cloud Function 它是 Spring Cloud 项目中的一个子项目,提供了 Spring 开发人员利用 serverless(无服务器架构)或 FaaS(Function as a Service,功能即服务) 的功能的能力。它抽象出了所有传输细节和基础设施,允许开发人员保留所有熟悉的工具和流程,并专注于业务逻辑。

简单来说,Spring Cloud Function 可以把 FunctionConsumerSupplier类型的接口包装成 Bean,并可以像 Controller 一样通过 HTTP 接口,或者也可以像 MQ 消息(RabbitMQ, Kafka...)的形式暴露出去被外部访问。

来写一个简单的 helloWorld 的例子,对任何输入参数前面加一个 hello:

代码语言:javascript复制
@SpringBootApplication
public class Application {

  public static void main(String[] args) {
    SpringApplication.run(Application.class, args);
  }
  
  @Bean
  public Function<String, String> helloWorld() {
    return value -> "hello:"   value;
  }
  
}

没错,这里的 Function 就是指 JDK 中的 java.util.Function

它就是 Spring Cloud Function 使用的函数式编程模型的基础。

启动 Spring Boot 项目之后,这个函数就可以被 HTTP/ MQ 形式访问了,不需要再额外的定义额外的类和 Spring MVC 之类的注解,是不是很新颖?

没用过的可以了解下,感兴趣的可以深入研究下 Spring 的 serverless 功能:

https://spring.io/serverless

它就是 Spring Cloud Function 项目所支撑的。


话说回来,本次 Spring Cloud Function 项目的漏洞还是 Spring - SpEL 表达式的引发的连带漏洞!!!

目前不知道还有没有其他 Spring Cloud 子项目受影响,有在用 Spring Cloud Function 这个项目的朋友,大家赶紧检查升级保平安吧!

最后,如果你想关注和学习最新、最主流的 Java 技术,可以持续关注公众号Java技术栈,公众号第一时间推送。

参考:https://tanzu.vmware.com/security/cve-2022-22963

版权声明: 本文系公众号 "Java技术栈" 原创,原创实属不易,转载、引用本文内容请注明出处,抄袭者一律举报+投诉,并保留追究其法律责任的权利。

突发!Spring 也沦陷了。。。

2021 年发生的 10 件技术大事!!

23 种设计模式实战(很全)

Spring Boot 保护敏感配置的 4 种方法!

再见单身狗!Java 创建对象的 6 种方式

阿里为什么推荐使用 LongAdder?

AnotherRedisDesktopManager 开始收费了?

别再写爆爆爆炸类了,试试装饰器模式!

Java 18 发布,默认 UTF-8,finalize 被弃用。。

Spring Boot 3.0 M1 发布,正式弃用 Java 8

Spring Boot 学习笔记,这个太全了!

关注Java技术栈看更多干货

获取 Spring Boot 实战笔记!

0 人点赞