大家好,我是栈长。
【突发!Spring Cloud 也沦陷了。。。】相信大家看到了昨天的 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 可以把
Function
、Consumer
、Supplier
类型的接口包装成 Bean,并可以像 Controller 一样通过 HTTP 接口,或者也可以像 MQ 消息(RabbitMQ, Kafka...)的形式暴露出去被外部访问。来写一个简单的 helloWorld 的例子,对任何输入参数前面加一个 hello:
@SpringBootApplication
public class Application {public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}@Bean
public Function 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/secu...
版权声明: 本文系公众号 "Java技术栈" 原创,原创实属不易,转载、引用本文内容请注明出处,抄袭者一律举报+投诉,并保留追究其法律责任的权利。近期热文推荐:
1.1,000+ 道 Java面试题及答案整理(2022最新版)
2.劲爆!Java 协程要来了。。。
3.Spring Boot 2.x 教程,太全了!
4.别再写满屏的爆爆爆炸类了,试试装饰器模式,这才是优雅的方式!!
5.《Java开发手册(嵩山版)》最新发布,速速下载!
觉得不错,别忘了随手点赞+转发哦!
推荐阅读
- 看完这篇,Lock和AQS就是弟弟
- java|IOS 自动化测试
- 大数据|二、JDK安装与变量配置
- java|ubuntu docker遇到的一些问题
- java|Ubuntu下单机安装Hadoop详细教程(附所需安装包下载)
- 数据结构与java集合|java集合图解源码系列【4】(从HashMap讲到红黑树和哈希表)
- Java编程开发|java开发(Class.forName 和 ClassLoader的区别和联系 | 使用场景 | 多方位解析)
- #|Zookeeper后端开发工具Curator的使用 | Curator对节点的增删改查 | ACL权限控制 | 分布式锁 | 分布式计数器 | 附带最新版本下载
- Java编程开发|Java多线程(synchronized | Volatile 和Lock和ReadWriteLock多方位剖析(一))