咨詢服務熱線
400-6446-808
創安實驗室專欄
您的當前位置:首頁 > 創安實驗室專欄
近期創安攻防實驗室監測到Spring官方發布安全公告,披露了一個(gè)Spring框架可(kě)在JDK>=9版本下實現遠程代碼執行(xíng)的漏洞(CVE-2022-22965)。此漏洞影(yǐng)響範圍極廣,建議客戶盡快做(zuò)好自查工作(zuò)。
漏洞描述
該漏洞是SpringFramework數(shù)據綁定的一個(gè)漏洞,如果後台方法中接受的參數(shù)為(wèi)非基礎類型,Spring會(huì)根據前端傳入的請(qǐng)求正文中的參數(shù)的key值來(lái)查詢與其名稱所對應的getter和(hé)setter方法,攻擊者利用這一特性修改了Tomcat的一個(gè)用于日志(zhì)記錄的類的屬性,進而當Tomcat在進行(xíng)寫日志(zhì)操作(zuò)的時(shí)候,将攻擊者傳遞的惡意代碼寫入指定目錄的指定文件中。
影(yǐng)響範圍
漏洞編号
CVE-2022-22965
漏洞等級
嚴重
漏洞複現
目前外界Exp/PoC已公開(kāi),創安實驗室已驗證該漏洞的可(kě)利用性:
修複建議
Spring官方目前已發布安全版本,建議用戶盡快更新至安全版本,下載鏈接如下
https://github.com/spring-projects/spring-framework
(一)WAF防護
在WAF等網絡防護設備上(shàng),根據實際部署業務的流量情況,實現對class.*, Class.*,*.class.*,*.Class.* 等字符串的規則過濾,并在部署過濾規則後,對業務運行(xíng)情況進行(xíng)測試,避免産生(shēng)額外影(yǐng)響。
(二)臨時(shí)修複措施
需同時(shí)按以下兩個(gè)步驟進行(xíng)漏洞的臨時(shí)修複:
1、在應用中全局搜索@InitBinder注解,看看方法體(tǐ)內(nèi)是否調用dataBinder.setDisallowedFields方法,如果發現此代碼片段的引入,則在原來(lái)的黑(hēi)名單中,添加{"class.*","Class.*","*.class.*","*.Class.*"}。(注:如果此代碼片段使用較多(duō),需要每個(gè)地方都追加)
2、在用系統的項目包下新建以下全局類,并保證這個(gè)類被Spring 加載到(推薦在Controller所在的包中添加)。完成類添加後,需對項目進行(xíng)重新編譯打包和(hé)功能驗證測試,并重新發布項目。
本文僅限于個(gè)人(rén)學習和(hé)技(jì)術(shù)研究,由于傳播、利用此文所提供的信息而造成刑事案件、非授權攻擊等違法行(xíng)為(wèi),均由使用者本人(rén)負責,本單位不為(wèi)此承擔任何責任。創安攻防實驗室擁有(yǒu)對此文章的修改和(hé)解釋權,如欲轉載或傳播此文章,必須保證此文章的完整性,包括版權聲明(míng)等全部內(nèi)容。
如有(yǒu)侵權,請(qǐng)聯系後台。