1. 程式人生 > 其它 >突發!Spring Cloud 也淪陷了。。。

突發!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 可以把 FunctionConsumerSupplier型別的介面包裝成 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<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技術棧" 原創,原創實屬不易,轉載、引用本文內容請註明出處,抄襲者一律舉報+投訴,並保留追究其法律責任的權利。

近期熱文推薦:

1.1,000+ 道 Java面試題及答案整理(2022最新版)

2.勁爆!Java 協程要來了。。。

3.Spring Boot 2.x 教程,太全了!

4.別再寫滿屏的爆爆爆炸類了,試試裝飾器模式,這才是優雅的方式!!

5.《Java開發手冊(嵩山版)》最新發布,速速下載!

覺得不錯,別忘了隨手點贊+轉發哦!