Spring Security 安全性建議

CVE-2018-15756:透過 Range Requests 造成的阻斷服務攻擊 (DoS)

| 2018年10月16日 | CVE-2018-15756

描述

Spring Framework 5.1 版本、5.0.x 版本 (在 5.0.10 之前)、4.3.x 版本 (在 4.3.20 之前) 以及 4.2.x 分支上的較舊且不受支援的版本,在使用 ResourceHttpRequestHandler 提供靜態資源時,或從 5.0 開始,當帶註解的控制器傳回 org.springframework.core.io.Resource 時,提供範圍請求的支援。惡意使用者 (或攻擊者) 可以新增一個具有大量範圍的 Range 標頭,或者具有重疊的寬廣範圍,或兩者兼具,以進行阻斷服務攻擊。

此漏洞會影響依賴 spring-webmvc 或 spring-webflux 的應用程式。此類應用程式也必須註冊以提供靜態資源 (例如 JS、CSS、圖片等),或者具有傳回 org.springframework.core.io.Resource 的帶註解的控制器。

依賴 spring-boot-starter-web 或 spring-boot-starter-webflux 的 Spring Boot 應用程式已準備好直接提供靜態資源,因此容易受到攻擊。

受影響的 Spring 產品和版本

  • Spring Framework 5.1
  • Spring Framework 5.0.0 至 5.0.9
  • Spring Framework 4.3 至 4.3.19
  • 較舊且不受支援的版本 (最早可追溯到 4.2) 也會受到影響

緩解措施

受影響版本的用戶應採用以下緩解措施

  • 5.1 用戶應升級到 5.1.1
  • 5.0.x 用戶應升級到 5.0.10
  • 4.3.x 用戶應升級到 4.3.20
  • 4.2.x 用戶應升級到受支援的分支。

不需要進一步的緩解步驟。

在評估影響時請注意以下事項

  • 對 Range 請求的支援是在 4.2 版中引入的。因此,4.2 之前的版本不受此問題的影響。
  • 從帶註解的控制器傳回 org.springfamework.core.io.Resource 的支援是在 5.0 中引入的。因此,5.0 之前的版本只能透過註冊以提供靜態資源來受到影響。

鳴謝

此問題由 Aruba Threat Labs 的 Nicholas Starke 識別並負責地報告。

歷史紀錄

2018-10-16:發布了初始漏洞報告。

領先一步

VMware 提供訓練和認證,可加速您的進度。

瞭解更多

取得支援

Tanzu Spring 在一個簡單的訂閱中提供 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位檔案。

瞭解更多

即將舉行的活動

查看 Spring 社群中所有即將舉行的活動。

檢視全部