Spring Cloud 突發漏洞
大家好,我是棧長。
Log4j2 的核彈級漏洞剛告一段落,Spring Cloud Gateway 又突發高危漏洞,又得折騰了。。。
昨天棧長也看到了一些安全機構發布的相關漏洞通告,Spring Cloud 官方博客也發布了高危漏洞聲明:
Spring Cloud 中的 Spring Cloud Gateway 組件被爆出了兩個安全漏洞。
Spring Cloud Gateway 是 Spring Cloud 的第二代網關組件,是 Spring Cloud Finchley 版推出來的新組件,用來代替第一代服務網關:Zuul。
Spring Cloud Gateway 的主要作用是:為微服務架構提供一種簡單、有效、統一的 API 路由管理方式。
漏洞1:
CVE-2022-22947 | 遠程代碼執行漏洞 |
---|---|
影響組件 | Spring Cloud Gateway |
受影響版本 | - 3.1.0 - 3.0.0 ~ 3.0.6 - 其他不再維護的舊版本 |
漏洞危害等級 | 高危 |
當 Spring Cloud Gateway Actuator 端點被啟用和暴露時,使用 Spring Cloud Gateway 的應用程序會存在遠程代碼注入攻擊的風險,即攻擊者可以遠程發出惡意攻擊請求,允許在遠程服務器上進行任意代碼執行。
漏洞2:
CVE-2022-22946 | HTTP2 不安全的 TrustManager |
---|---|
影響組件 | Spring Cloud Gateway |
受影響版本 | 3.1.0 |
漏洞危害等級 | 中等 |
Spring Cloud Gateway 如果配置並啟用 HTTP2,且未設置密鑰存儲或受信任證書,這樣 Spring Cloud Gateway 就能被無效或自定義的證書連接到遠程服務。
另外,如果你想關注和學習最新、最主流的 Java 技術,棧長會持續分享,可以持續關注公眾號Java技術棧,公眾號第一時間推送。
解決方案
1、升級版本
Spring Cloud 2021.0.x 用戶可以把主版本升級到 Spring Cloud 2021.0.1,Spring Cloud Gateway 已升級到了 3.1.1。
這個在前幾天的《新年首發!Spring Cloud 2021.0.1 發布》最新版本發布時,我並沒有看到修復這個高危漏洞的說明,昨天官方博客發了這個漏洞通告又含在這個版本中,這就有點摸不到頭腦了。。
Spring Cloud 2020.0.x 用戶可以自行升級到 Spring Cloud Gateway 3.0.7。
其他不再維護的老版本也有漏洞,只是官方不再維護了,是否可自己升級,兼容性不得而知。
2、臨時方案(僅限第1個漏洞)
這個臨時方案僅限第 1 個漏洞,第二個漏洞只能升級 Spring Cloud 主版本。
如果不需要用到 Gateway actuator 端點,可通過以下配置禁用:
management.endpoint.gateway.enabled: false
如果需要 Gateway actuator 端點,則應使用 Spring Security 對其進行防護,可參考以下網址:
總結
Spring Cloud Gateway 這兩個漏洞還挺重要的,特別是第一個遠程代碼執行,特別危險,自行檢查,廢話不多說了,如果有涉及到的,盡快修復保平安。
學 Spring Cloud 必須先掌握 Spring Boot,如果你還沒用過 Spring Boot,今天我就送你一份 《Spring Boot 學習筆記》這個很全了,包括底層實現原理及代碼實戰,非常齊全,助你快速打通 Spring Boot 的各個環節。
Spring Boot 理論和實戰源碼倉庫:
最后,如果你想關注和學習最新、最主流的 Java 技術,可以持續關注公眾號Java技術棧,公眾號第一時間推送。
參考資料:
https://spring.io/blog/2022/03/01/spring-cloud-gateway-cve-reports-published
https://tanzu.vmware.com/security/cve-2022-22947
版權聲明: 本文系公眾號 "Java技術棧" 原創,原創實屬不易,轉載、引用本文內容請注明出處,抄襲者一律舉報+投訴,並保留追究其法律責任的權利。
近期熱文推薦:
1.1,000+ 道 Java面試題及答案整理(2022最新版)
4.別再寫滿屏的爆爆爆炸類了,試試裝飾器模式,這才是優雅的方式!!
覺得不錯,別忘了隨手點贊+轉發哦!