突發!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<String, String> helloWorld() { return value -> "hello:" + value; } }
沒錯,這裡的 Function 就是指 JDK 中的 java.util.Function
它就是 Spring Cloud Function 使用的函數語言程式設計模型的基礎。
啟動 Spring Boot 專案之後,這個函式就可以被 HTTP/ MQ 形式訪問了,不需要再額外的定義額外的類和 Spring MVC 之類的註解,是不是很新穎?
沒用過的可以瞭解下,感興趣的可以深入研究下 Spring 的 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最新版)
4.別再寫滿屏的爆爆爆炸類了,試試裝飾器模式,這才是優雅的方式!!
覺得不錯,別忘了隨手點贊+轉發哦!