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