領先一步
VMware 提供培訓和認證,助您加速進步。
瞭解更多Spring Security 在處理安全約束時未考慮 URL 路徑引數。透過新增帶有特殊編碼的 URL 路徑引數,攻擊者可能能夠繞過安全約束。此問題的根本原因是 Servlet 規範中關於路徑引數處理的定義不夠明確(見下文)。某些 Servlet 容器會將路徑引數包含在 `getPathInfo()` 返回的值中,而有些則不會。Spring Security 使用 `getPathInfo()` 的返回值來對映請求到安全約束。在此特定的攻擊中,路徑引數中使用的不同字元編碼允許繞過受保護的 Spring MVC 靜態資源 URL。
受影響版本的使用者應採取以下緩解措施
作為一項普遍的預防措施,鼓勵使用者將公共和私有資源分開。例如,將靜態資源分開並將它們對映到 `/resources/public/**` 和 `/resources/private/**`,而不是將一個通用根目錄用於混合的公共和私有資源內容。
此問題由 NTT Comware、NTT DATA Corporation 和 NTT 的 Macchinetta 框架開發團隊發現,並負責任地報告給了 Pivotal。
2018-01-29:釋出初步漏洞報告
要報告 Spring 組合專案中存在的安全漏洞,請參閱安全策略