CVE-2020-5397:透過 Spring MVC 或 Spring WebFlux 中的 CORS 預檢請求進行的 CSRF 攻擊

中等 | 2020 年 1 月 16 日 | CVE-2020-5397

描述

Spring Framework 的 5.2.x 版本(5.2.3 之前的版本)在透過針對 Spring MVC(spring-webmvc 模組)或 Spring WebFlux(spring-webflux 模組)端點的 CORS 預檢請求進行 CSRF 攻擊時存在漏洞。

僅未經驗證的端點存在漏洞,因為預檢請求不應包含憑證,因此請求應會因認證失敗。但是,一個值得注意的例外是基於 Chrome 的瀏覽器在使用客戶端證書進行身份驗證時,因為 Chrome 會在 CORS 預檢請求中傳送 TLS 客戶端證書,這違反了規範要求。 

因此次攻擊,無法傳送或接收任何 HTTP 正文。

受影響的 Spring 產品和版本

  • Spring Framework
    • 5.2.0 至 5.2.2

緩解措施

受影響版本的使用者應採取以下緩解措施。  5.2.x 使用者應升級到 5.2.3。  無需其他緩解措施。 使用啟用了基於 URL 的安全性和 CORS 支援的 Spring Security 可以防止此漏洞暴露。 已修復此問題的版本包括

  • Spring Framework
    • 5.2.3

致謝

此問題由 Google 的 Eric Zimanyi 識別並負責任地報告。

參考資料

歷史

  • 2020-01-16:首次漏洞報告發布。

領先一步

VMware 提供培訓和認證,助您加速進步。

瞭解更多

獲得支援

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位制檔案,只需一份簡單的訂閱。

瞭解更多

即將舉行的活動

檢視 Spring 社群所有即將舉行的活動。

檢視所有