Spring Cloud Config目錄遍歷漏洞(CVE-2019-3799)預警

近日,Spring官方團隊在最新的安全更新中披露了一則Spring Cloud Config目錄遍歷漏洞(CVE-2019-3799)。漏洞官方定級爲 High,屬於高危漏洞。該漏洞本質是允許應用程序通過spring-cloud-config-server模塊獲取任意配置文件,攻擊者可以構造惡意URL實現目錄遍歷漏洞的利用。

Spring產品介紹

Spring是一個Java/Java EE/.NET的分層應用程序框架。它是一個基於IOC和AOP構架多層J2EE系統的開源框架,模塊化好且實現了很優雅的MVC,對不同的數據訪問技術提供了統一的接口。此外它採用的IOC可以很容易的實現Bean的裝配,提供的AOP簡潔易用並據此實現了Transaction Management等功能。Spring 提供簡易的開發方式,這種開發方式,將避免那些可能致使底層代碼變得繁雜混亂的大量屬性文件和幫助類。目前此框架的使用非常活躍。Spring Data是Spring框架中提供底層數據訪問的項目模塊,Spring Data Commons是一個共用的基礎模塊。

漏洞分析

CVE-2019-3799漏洞原理:由於spring-cloud-config-server模塊未對傳入路徑進行安全限制,攻擊者可以利用多個..%252f進行目錄遍歷,查看服務器其他路徑的敏感文件,造成敏感信息泄露。

官方修復補丁如下:

Spring Cloud Config目錄遍歷漏洞(CVE-2019-3799)預警

通過補丁對比發現,官方最新版本加入了isInvalidEncodedPath方法,對傳入的url進行判斷,若存在%,則對傳入的url進行url解碼。阻止了攻擊者通過url編碼繞過對../的檢測。

Spring Cloud Config目錄遍歷漏洞(CVE-2019-3799)預警新添加的isInvalidPath方法則是對url中關鍵詞進行檢測,如果存在WEB-INF,META-INF,..,../,則會觸發warning。

漏洞復現

下載一個存在漏洞的 Spring Cloud Config,下載地址如下:

https://github.com/spring-cloud/spring-cloud-config

啓動環境後,使用get方法傳入/test/pathtraversal/master/..%252f..%252f..%252f..%252f../etc/passwd,即可讀取到linux下passwd文件信息。

Spring Cloud Config目錄遍歷漏洞(CVE-2019-3799)預警

影響範圍

目前據統計,在全球範圍內對互聯網開放Spring服務器的資產數量多達5萬多臺,其中歸屬中國地區的受影響資產數量爲28000臺以上。

目前受影響的Spring Cloud Config 版本:

Spring Cloud Config 2.1.0 to 2.1.1

Spring Cloud Config 2.0.0 to 2.0.3

Spring Cloud Config 1.4.0 to 1.4.5

修復建議

Spring官方最新版本已經對Spring Cloud Config目錄遍歷漏洞進行了修復,下載地址:https://github.com/spring-cloud/spring-cloud-config/releases

參考鏈接

https://pivotal.io/security/cve-2019-3799

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章