CVE-2021-22047: 定製化 Spring Data REST 資源可能存在安全繞過

中等 | 2021 年 10 月 26 日 | CVE-2021-22047

描述

在 Spring Data REST 的 3.4.0 - 3.4.13、3.5.0 - 3.5.5 版本以及不受支援的舊版本中,由自定義控制器實現的 HTTP 資源使用配置的基本 API 路徑和控制器型別級別請求對映,還會額外暴露在可能根據 Spring Security 配置進行未經授權訪問的 URI 下。此漏洞僅適用於同時滿足以下所有條件的專案:

  • 專案使用了上述受漏洞影響的 Spring Data REST 版本之一。
  • Spring Data REST 基本路徑配置設定為非空字串。
  • 專案註冊了一個自定義的 Spring MVC 控制器,用於在 Spring Data REST 的 URI 空間中定製 HTTP 資源,並且該控制器使用了型別級別的 @RequestMapping 註解;專案僅保護了 Spring Data REST 在基本路徑內暴露的路徑,但未對與沒有配置基本路徑作為字首的對映匹配的 URI 應用安全措施。

受影響的 Spring 產品和版本

  • Spring Data REST
    • 3.4.0 到 3.4.13
    • 3.5.0 到 3.5.5
    • 較舊的、不受支援的版本也受到影響

緩解措施

受影響版本的使用者應升級到以下版本之一。無需其他步驟。

  • Spring Data REST
    • 3.4.14+ (包含在 Spring Boot 2.4.12+ 中)
    • 3.5.6+ (包含在 Spring Boot 2.5.6+ 中)

致謝

此漏洞最初由 Brian Schrader 發現並負責任地報告。

參考資料

歷史

  • 2021-10-26: 最初的漏洞報告已釋出。

領先一步

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

瞭解更多

獲得支援

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

瞭解更多

即將舉行的活動

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

檢視所有