領先一步
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 Framework Development Team 發現,並負責任地報告給 Pivotal。
2018-01-29:釋出初始漏洞報告
要報告 Spring 產品組合中的專案的安全漏洞,請參閱安全策略