領先一步
VMware 提供培訓和認證,以加速您的進度。
瞭解更多
Spring Security OAuth,版本 2.3(早於 2.3.5)、2.2(早於 2.2.4)、2.1(早於 2.1.4)、2.0(早於 2.0.17)以及更舊的不支援版本,可能容易受到開放式重新導向攻擊,該攻擊會洩漏授權碼。惡意使用者或攻擊者可以製作請求,利用授權碼授予類型向授權端點發送,並透過 "redirect_uri" 參數指定被操縱的重新導向 URI。這可能會導致授權伺服器將資源擁有者使用者代理重新導向到攻擊者控制下的 URI,並洩漏授權碼。
此漏洞暴露符合以下所有要求的應用程式
@EnableAuthorizationServer
)AuthorizationEndpoint
中使用 DefaultRedirectResolver
此漏洞不會暴露以下應用程式
DefaultRedirectResolver
以外的其他 RedirectResolver
實作@EnableResourceServer
)@EnableOAuthClient
)受影響版本的用戶應套用以下緩解措施
沒有其他必要的緩解步驟。
對於 Spring Boot 1.5.x 和 Spring IO Platform Cairo 的用戶,強烈建議將 spring-security-oauth 版本覆寫為包含 CVE 修補程式的最新版本。為了覆寫該版本,您需要宣告/設定屬性 spring-security-oauth.version
。
以下是針對 Spring Boot 1.5.x 用戶的說明。
若要使用 Maven 覆寫屬性,請在您 pom 檔案的
區段中宣告該屬性
若要使用 Gradle 覆寫屬性,請在您的 build.gradle
腳本中設定該值
ext['spring-security-oauth.version'] = '2.0.17.RELEASE'
或在 gradle.properties
中
spring-security-oauth.version=2.0.17.RELEASE
注意: 相同的說明適用於 Spring IO Platform Cairo 的用戶。但是,要指定的版本是 2.2.4.RELEASE。
此問題由來自 dotloop 的 Dirk Koehler (github.com/phrinx) 發現並負責任地報告。特別感謝來自 NTT 的 Macchinetta Framework Development Team、NTT Comware、NTT DATA Corporation 協助驗證解決方案並識別其他利用漏洞的方法。
https://github.com/spring-projects/spring-security-oauth/blob/master/tests/annotation/approval/src/main/java/demo/Application.java#L36'>@EnableAuthorizationServer</a></code>
的範例配置
歷史記錄
2019-02-21:發布初始漏洞報告。
報告漏洞
若要報告 Spring 產品組合中的專案的安全性漏洞,請參閱安全性政策