近日,海峽信息安全威脅情報中心監測到Spring官方發布安全公告,披露了一個Spring框架漏洞(CVE-2022-22965),當Java版本>=9時可遠程實現代碼執行,此漏洞影響范圍廣泛,且目前已出現相關利用代碼,危害較大。目前Spring官方已發布Spring框架安全版本,海峽信息安全應急中心建議受影響單位和用戶立即升級至最新版本。
一、漏洞描述
Spring 是一個支持快速開發的J2EE 應用程序開源框架,是目前較為流行的 Java 開發框架。由于Spring框架存在處理流程缺陷,導致可遠程代碼執行,攻擊者可在未授權訪問下,通過構造惡意請求可向任意路徑下寫入文件。
海峽信息已成功復現此漏洞:
二、影響范圍
Spring Framework < 5.3.18
Spring Framework < 5.2.20
或者其衍生框架且 目標應用環境中所使用的jdk 版本>=9
三、安全防范建議
目前Spring官方已發布安全補丁,海峽信息提醒各相關單位和用戶要強化風險意識,切實加強安全防范:
1、目前黑盾態勢感知、防火墻、IPS等安全設備規則已支持該漏洞攻擊及相關漏洞的檢測,請相關用戶及時升級設備規則庫,相關特征庫已發布到官網:http://www.sanmenren.com/Technical/upgrade.html
2、目前Spring官方已發布安全版本:5.2.20.RELEASE與5.3.18版本。建議用戶盡快自查,對受影響的版本及時升級至最新版本:https://spring.io/blog/2022/03/31/spring-framework-rce-early-announcement
3、臨時解決方案:
a、在WAF(web應用防火墻)等網絡防護設備上,根據實際部署業務的流量情況,對GET、POST請求方式的流量實現對“*.class.*”、“*.Class.*”等字符串特征的過濾,并在調整過濾規則后,對業務運行情況進行跟蹤測試,避免對業務產生影響。
b、在應用系統的項目包下新建以下全局類,并保證全局類被Spring 加載到(推薦在Controller 所在的包中添加)。完成類添加后,需對項目進行重新編譯打包和功能驗證測試。并重新發布項目。
四、自查措施
1、首先查看所使用的java版本是否在影響范圍內,可使用“java -version”命令查看,若jdk版本>=9,則可能受此漏洞影響,需進一步排查應用是否使用Spring框架。
下圖jdk版本為 8,則不受此漏洞影響:
2、檢查應用所使用中間件是否為Tomcat,若不是,暫時不受此漏洞影響,如采用Tomcat中間件,進一步確認Tomcat是否開啟了access日志記錄功能,可查看Tomcat配置文件conf/server.xml,若如下access日志配置已注釋,說明未開啟access日志記錄功能,則暫不受此漏洞影響:
海峽信息已對目前公開的攻擊代碼分析確認:若Tomcat不開啟訪問日志功能,無法利用AccessLogValve寫入后門文件。
3、在應用目錄下搜索是否使用了spring-beans,如果存在 Spring框架的應用組件spring-beans-*.jar,則說明使用了Spring框架,則應用系統可能受此影響
4、若在應用目錄中未搜索到spring-beans-*.jar 文件,則對當前應用所引用的相關jar包進行解壓,并在每個jar解壓目錄及當前應用目錄下同時搜索是否存在spring-beans-*.jar和CachedIntrospectionResults 類,若存在,則業務系統可能受此漏洞影響。
5、經確認該漏洞利用條件之一:需要SpringMVC開發過程中采用綁定參數的數據結構寫法,若項目的開發代碼中未使用參數綁定方式,則不受該漏洞影響
附參考鏈接:
https://www.cnvd.org.cn/webinfo/show/7541
https://spring.io/blog/2022/03/31/spring-framework-rce-early-announcement
返回頂部