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