Spring Security 安全公告

CVE-2018-11039:Spring Framework 的跨站追蹤 (XST)

| 2018 年 6 月 14 日 | CVE-2018-11039

描述

Spring Framework (5.0.x 版本早於 5.0.7、4.3.x 版本早於 4.3.18 和較舊的不支援版本) 允許 Web 應用程式使用 Spring MVC 中的 HiddenHttpMethodFilter 將 HTTP 請求方法變更為任何 HTTP 方法 (包括 TRACE)。 如果應用程式存在先前的 XSS 漏洞,惡意使用者 (或攻擊者) 可以使用此篩選器升級到 XST (跨站追蹤) 攻擊。

受影響的 Spring 產品和版本

  • Spring Framework 5.0 至 5.0.6
  • Spring Framework 4.3 至 4.3.17
  • 較舊的不支援版本也受到影響

緩解措施

受影響版本的使用者應套用下列緩解措施

  • 5.0.x 使用者應升級至 5.0.7
  • 4.3.x 使用者應升級至 4.3.18
  • 較舊版本應升級至支援的分支

沒有其他必要的緩解步驟。

此攻擊適用於符合以下條件的應用程式

  • 使用 HiddenHttpMethodFilter(預設在 Spring Boot 中啟用)
  • 允許應用程式伺服器處理 HTTP TRACE 請求

此攻擊無法直接利用,因為攻擊者必須透過 HTTP POST 發出跨網域請求,而這會受到同源策略的禁止。 這就是為什麼 Web 應用程式本身中先前的 XSS (跨網站指令碼) 漏洞對於啟用升級到 XST 是必要的。

致謝

此問題由 Ocado Technology 的 Mariusz Łuciów 識別並報告。

歷史記錄

2018-06-14:發布初始漏洞報告。

CVE-2018-11040:在 MappingJackson2JsonView 中預設啟用 JSONP

| 2018 年 6 月 14 日 | CVE-2018-11040

描述

Spring Framework,5.0.x 版本早於 5.0.7、4.3.x 版本早於 4.3.18 和較舊的不支援版本,允許 Web 應用程式透過 REST 控制器的 AbstractJsonpResponseBodyAdvice 和瀏覽器請求的 MappingJackson2JsonView,透過 JSONP(JSON with Padding)啟用跨網域請求。 在 Spring Framework 或 Spring Boot 中,兩者預設都不啟用。 然而,當在應用程式中設定 MappingJackson2JsonView 時,JSONP 支援會自動準備好透過 "jsonp" 和 "callback" JSONP 參數使用,從而啟用跨網域請求。

允許來自不受信任來源的跨網域請求可能會將使用者資訊暴露給第三方瀏覽器指令碼。

此漏洞適用於符合以下條件的應用程式

  • 明確設定 MappingJackson2JsonView。
  • 並且不將 MappingJackson2JsonView 的 jsonpParameterNames 屬性設定為空集合。
  • 並且透過可以使用 JSONP 呈現內容的端點暴露敏感的使用者資訊。

受影響的 Spring 產品和版本

  • Spring Framework 5.0 至 5.0.6
  • Spring Framework 4.1 至 4.3.17

緩解措施

受影響版本的使用者應套用下列緩解措施

  • 5.0.x 使用者應升級至 5.0.7。
  • 4.3.x 使用者應升級至 4.3.18。
  • 較舊版本應升級至支援的分支,或者將 MappingJacksonJsonView 的 jsonpParameterNames 屬性設定為空集合。

需要 JSONP 支援的應用程式需要升級後明確設定 MappingJacksonJsonView 的 jsonpParameterNames 屬性。 建議應用程式切換為使用 CORS 而不是 JSONP 來啟用跨網域請求。 Spring Framework 中的 JSONP 支援自 5.0.7 和 4.3.18 起已被棄用,並將在 5.1 中移除。

致謝

此問題由 Meyyalagan Chandrasekaran 識別並報告。

參考

CVE-2018-1263:spring-integration-zip 的不安全解壓縮

嚴重 | 2018 年 5 月 11 日 | CVE-2018-1263

描述

spring-integration-zip,1.0.2 之前的版本,暴露了任意檔案寫入漏洞,可以使用特製的 zip 封存檔(也會影響其他封存檔,bzip2、tar、xz、war、cpio、7z)來實現,該封存檔包含路徑遍歷檔案名。 因此,當檔案名串連到目標解壓縮目錄時,最終路徑會結束在目標資料夾之外。 先前的 CVE-2018-1261 阻止了框架本身寫入檔案。 雖然框架本身現在不寫入此類檔案,但它會將錯誤的路徑呈現給使用者應用程式,這可能會無意中使用該路徑寫入檔案。

這尤其適用於解壓縮轉換器。

只有當使用此程式庫的應用程式接受並解壓縮來自不受信任來源的 zip 檔案時,才會發生這種情況。

受影響的 Spring 產品和版本

  • Spring Integration Zip Community Extension Project 1.0.1.RELEASE 及更早版本。

緩解措施

受影響版本的使用者應套用下列緩解措施

  • 升級至 1.0.2.RELEASE

或者不要解壓縮不受信任的 zip 檔案。

致謝

此問題由 Snyk Security Research Team 和 Abago Forgans 識別並負責地報告。

歷史記錄

2018-05-11:發布初始漏洞報告

CVE-2018-1257:使用 spring-messaging 的 ReDoS 攻擊

| 2018 年 5 月 9 日 | CVE-2018-1257

描述

Spring Framework,5.0.x 版本早於 5.0.6 和 4.3.x 版本早於 4.3.17,以及較舊的不支援版本,允許應用程式透過 spring-messaging 模組,使用簡單的、記憶體中的 STOMP 代理程式,透過 WebSocket 端點公開 STOMP。 惡意使用者(或攻擊者)可以製作一則傳送到代理程式的訊息,從而導致正規表示式、阻斷服務攻擊。

此漏洞會暴露符合以下所有需求的應用程式

  • 依賴 spring-messaging 和 spring-websocket 模組。
  • 註冊透過 WebSocket 端點的 STOMP。
  • 啟用簡單的 STOMP 代理程式。

受影響的 Spring 產品和版本

  • Spring Framework 5.0 至 5.0.5
  • Spring Framework 4.3 至 4.3.16
  • 較舊的不支援版本也受到影響

緩解措施

受影響版本的使用者應套用下列緩解措施

  • 5.0.x 使用者應升級至 5.0.6。
  • 4.3.x 使用者應升級至 4.3.17。
  • 較舊版本應升級至支援的分支。

沒有其他必要的緩解步驟。

請注意,使用訊息的驗證和授權(兩者均由 Spring Security 提供)會將此漏洞的暴露限制於授權使用者。

致謝

此問題由 Recruit Technologies Co., Ltd. 的 Muneaki Nishimura (nishimunea) 識別並負責地報告。

參考

CVE-2018-1258:Spring Security 方法安全性的未授權存取

嚴重 | 2018 年 5 月 9 日 | CVE-2018-1258

描述

Spring Security 與 Spring Framework 5.0.5.RELEASE 結合使用時,在使用方法安全性時包含授權繞過。 未授權的惡意使用者可以獲得對應受限制方法未授權的存取權。

受影響的 Spring 產品和版本

  • Spring Framework 5.0.5.RELEASE 和 Spring Security (任何版本)
  • 只有在使用 Spring Framework 5.0.5.RELEASE 和 Spring Security 方法安全性的情況下,應用程式才會受到影響。 此錯誤存在於 Spring Framework 5.0.5.RELEASE 中,但除非與 Spring Security 的方法安全性支援結合使用,否則不視為 CVE。
  • 該錯誤僅存在於 Spring Framework 5.0.5.RELEASE 中。 如果應用程式不使用 Spring Framework 5.0.5.RELEASE,則不會受到影響。 該錯誤不會影響任何 Spring Framework 4.x 版本或任何其他版本的 Spring Framework。

緩解措施

  • 利用 Spring Framework 5.x 的使用者應避免使用 Spring Framework 5.0.5.RELEASE。 更新到 Spring Security 5.0.5.RELEASE+ 或 Spring Boot 2.0.2.RELEASE+ 會以傳遞方式引入 Spring Framework 5.0.6.RELEASE+。 但是,使用者應確定其他相依性管理機制也已更新為使用 Spring Framework 5.0.6.RELEASE 或更新版本。
  • 利用 Spring Framework 4.x (Spring Security 4.x 或 Spring Boot 1.x) 的使用者不會受到影響,因此無需採取任何步驟。
  • 不需要其他緩解步驟。

致謝

此問題由 Spring Security 團隊內部發現。

歷史記錄

2018-05-09:首次發布漏洞報告

  • 2018-07-30:釐清受影響的版本

CVE-2018-1259:使用 Spring Data 的 XMLBeam 整合時的 XXE 漏洞

| 2018 年 5 月 9 日 | CVE-2018-1259

描述

Spring Data Commons 1.13 至 1.13.11 和 2.0 至 2.0.6 版本,與 XMLBeam 1.4.14 或更早版本搭配使用時,存在因 XML 外部實體引用限制不當而導致的屬性綁定漏洞,因為底層函式庫 XMLBeam 未限制外部引用擴展。未經身份驗證的遠端惡意使用者可以提供特製的請求參數,針對 Spring Data 基於投影的請求酬載綁定,來訪問系統上的任意檔案。

受影響的 Spring 產品和版本

  • Spring Data Commons 1.13 至 1.13.11 (Ingalls SR11)
  • Spring Data REST 2.6 至 2.6.11 (Ingalls SR11)
  • Spring Data Commons 2.0 至 2.0.6 (Kay SR6)
  • Spring Data REST 3.0 至 3.0.6 (Kay SR6)

緩解措施

受影響版本的使用者應套用下列緩解措施

  • 1.13.x 使用者應升級至 1.13.12 (Ingalls SR12)
  • 2.0.x 使用者應升級至 2.0.7 (Kay SR7)
  • 或者,升級至 XMLBeam 1.4.15

已修復此問題的版本包括

  • Spring Data REST 2.6.12 (Ingalls SR12)
  • Spring Data REST 3.0.7 (Kay SR7)

沒有其他必要的緩解步驟。

請注意,此漏洞僅在使用 XMLBeam 時才可利用。針對端點使用身分驗證和授權(兩者均由 Spring Security 提供)可將此漏洞的暴露限制在已授權的使用者範圍內。

致謝

此問題由 Abago Forgans 發現並負責任地報告。

參考

CVE-2018-1260:spring-security-oauth2 中的遠端程式碼執行

嚴重 | 2018 年 5 月 9 日 | CVE-2018-1260

描述

Spring Security OAuth,版本 2.3 在 2.3.3 之前的版本,2.2 在 2.2.2 之前的版本,2.1 在 2.1.2 之前的版本,2.0 在 2.0.15 之前的版本,以及更舊的不支援版本,包含遠端程式碼執行漏洞。惡意使用者或攻擊者可以製作授權請求發送到授權端點,當資源所有者被轉發到授權批准端點時,可能導致遠端程式碼執行。

此漏洞會暴露符合以下所有需求的應用程式

  • 以授權伺服器角色執行 (例如 @EnableAuthorizationServer)
  • 使用預設的授權批准端點

此漏洞不會暴露以下應用程式:

  • 以授權伺服器角色執行,但覆蓋了預設的授權批准端點
  • 僅以資源伺服器角色執行 (例如 @EnableResourceServer)
  • 僅以用戶端角色執行 (例如 @EnableOAuthClient)

受影響的 Spring 產品和版本

  • Spring Security OAuth 2.3 至 2.3.2
  • Spring Security OAuth 2.2 至 2.2.1
  • Spring Security OAuth 2.1 至 2.1.1
  • Spring Security OAuth 2.0 至 2.0.14
  • 較舊的不支援版本也受到影響

緩解措施

受影響版本的使用者應套用下列緩解措施

  • 2.3.x 使用者應升級至 2.3.3
  • 2.2.x 使用者應升級至 2.2.2
  • 2.1.x 使用者應升級至 2.1.2
  • 2.0.x 使用者應升級至 2.0.15
  • 較舊版本應升級至支援的分支

不需要其他緩解步驟。

致謝

此問題由 GoSecure 的 Philippe Arteau 發現並負責任地報告。

參考

CVE-2018-1261:spring-integration-zip 中的不安全 Unzip

嚴重 | 2018 年 5 月 9 日 | CVE-2018-1261

描述

spring-integration-zip,1.0.1 之前的版本,暴露了任意檔案寫入漏洞,可以使用特製的 zip 封存檔(也會影響其他封存檔,如 bzip2、tar、xz、war、cpio、7z)來實現,該封存檔包含路徑遍歷檔案名稱。因此,當檔案名稱被連接到目標提取目錄時,最終路徑會超出目標資料夾。

這尤其適用於解壓縮轉換器。

只有當使用此程式庫的應用程式接受並解壓縮來自不受信任來源的 zip 檔案時,才會發生這種情況。

受影響的 Spring 產品和版本

  • Spring Integration Zip Community Extension Project 版本 1.0.0.RELEASE

緩解措施

受影響版本的使用者應套用下列緩解措施

  • 升級至 1.0.1.RELEASE

或者不要解壓縮不受信任的 zip 檔案。

致謝

此問題由 Snyk Security Research Team 發現並負責任地報告。

歷史記錄

2018-05-09:首次發布漏洞報告

CVE-2018-1256:Spring Cloud SSO Connector 中的發行者驗證迴歸

| 2018 年 4 月 30 日 | CVE-2018-1256

描述

Spring Cloud SSO Connector,版本 2.1.2,包含一個迴歸,該迴歸會禁用未綁定到 SSO 服務的資源伺服器中的發行者驗證。在具有多個 SSO 服務方案的 PCF 部署中,遠端攻擊者可以使用從另一個服務方案產生的令牌,來驗證使用此版本 SSO Connector 的未綁定資源伺服器。

受影響的 Spring 產品和版本

  • Spring Cloud SSO Connector 版本 2.1.2

緩解措施

受影響版本的使用者應套用下列緩解措施

  • 已修復此問題的版本包括:</p><ul><li>Spring Cloud SSO Connector: 2.1.3</li></ul>
  • 或者,您可以執行以下 <u>其中一種</u>解決方案:</p><ul><li>透過服務實例綁定將您的資源伺服器綁定到 SSO 服務方案</li><li>在您的 Spring 應用程式屬性中設定 "sso.connector.cloud.available=true"</li></ul>

致謝

此漏洞由 Pivotal SSO Service 團隊負責地報告。

歷史記錄

2018-04-30:首次發布漏洞報告

CVE-2018-1273:Spring Data Commons 中的 RCE

嚴重 | 2018 年 4 月 10 日 | CVE-2018-1273

描述

Spring Data Commons,版本在 1.13 至 1.13.10 之前、2.0 至 2.0.5 之前,以及更舊的不支援版本,包含因特殊元素中和不當而導致的屬性綁定漏洞。未經身份驗證的遠端惡意使用者(或攻擊者)可以提供特製的請求參數,針對 Spring Data REST 支援的 HTTP 資源,或使用 Spring Data 基於投影的請求酬載綁定,這可能導致遠端程式碼執行攻擊。

受影響的 Spring 產品和版本

  • Spring Data Commons 1.13 至 1.13.10 (Ingalls SR10)
  • Spring Data REST 2.6 至 2.6.10 (Ingalls SR10)
  • Spring Data Commons 2.0 至 2.0.5 (Kay SR5)
  • Spring Data REST 3.0 至 3.0.5 (Kay SR5)
  • 較舊的不支援版本也受到影響

緩解措施

受影響版本的使用者應套用下列緩解措施

  • 2.0.x 使用者應升級至 2.0.6
  • 1.13.x 使用者應升級至 1.13.11
  • 較舊版本應升級至支援的分支

已修復此問題的版本包括

  • Spring Data REST 2.6.11 (Ingalls SR11)
  • Spring Data REST 3.0.6 (Kay SR6)

沒有其他必要的緩解步驟。

請注意,針對端點使用身分驗證和授權(兩者均由 Spring Security 提供)可將此漏洞的暴露限制在已授權的使用者範圍內。

致謝

此問題由 GoSecure Inc. 的 Philippe Arteau 發現並負責任地報告。

參考

領先一步

VMware 提供培訓和認證,以加速您的進度。

了解更多

取得支援

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

了解更多

即將到來的活動

查看 Spring 社群中所有即將到來的活動。

查看全部