關於fastjson出現反序列化遠端程式碼執行漏洞的通知

天翼雲開發者社群發表於2022-05-30

近日 fastjson出現反序列化遠端程式碼執行漏洞。天翼雲提醒使用者:請儘快採取措施進行排查與防護。

 

漏洞描述

5月23日,fastjson官方釋出公告稱在1.2.80及以下版本中存在新的反序列化風險,在特定條件下可繞過預設autoType關閉限制,從而反序列化有安全風險的類,攻擊者利用該漏洞可實現在目標機器上的遠端程式碼執行。

 

fastjson是開源JSON解析庫,它可以解析JSON格式的字串,支援將Java Bean序列化為JSON字串,也可以從JSON字串反序列化到Java Bean。由於具有執行效率高的特點,應用範圍廣泛。

 

漏洞詳情

漏洞名稱 fastjson反序列化遠端程式碼執行漏洞

漏洞編號 暫無

漏洞型別 遠端任意程式碼執行

元件名稱 fastjson

影響版本 :  fastjson ≤ 1.2.80

漏洞等級 嚴重

 

漏洞修復或緩解建議

人工檢測 :

相關使用者可使用以下命令檢測當前使用的 fastjson版本:

lsof | grep fastjson

注:在 fastjson 1.2.68及之後的版本中,官方新增了SafeMode 功能,可完全禁用autoType。

 

官方升級:

目前官方已在最新版本 1.2.83中修復了該漏洞,請受影響的使用者儘快升級版本進行防護,官方下載連結:

 

升級步驟如下:

1. 備份原fastjson依賴庫,避免升級失敗的情況發生。

2. 將低版本的fastjson庫替換為2.83版本即可

 

開發人員可透過配置 Maven的方式對應用進行升級並編譯釋出,配置如下:

<dependency>

    <groupId>com.alibaba</groupId>

    <artifactId>fastjson</artifactId>

    <version>1.2.83</version>

</dependency>

注:該版本涉及 autotype行為變更,在某些場景會出現不相容的情況,若遇到問題可以到 尋求幫助。

 

臨時防護措施:

若相關使用者暫時無法進行升級操作,也可使用下列方式進行緩解:

 

由於 autotype開關的限制可被繞過,請受影響使用者升級fastjson至1.2.68及以上版本,透過開啟safeMode配置完全禁用autoType。三種配置SafeMode的方式如下:

 

1. 在程式碼中配置:

ParserConfig.getGlobalInstance().setSafeMode(true);

 

2. 加上JVM啟動引數:

-Dfastjson.parser.safeMode=true

如果有多個包名字首,可用逗號隔開。

 

3. 透過properties檔案配置:

透過類路徑的 fastjson.properties檔案來配置,配置方式如下:

fastjson.parser.safeMode=true

 

參考官方文件:

 

4. 另可透過將有風險的類新增至黑名單進行防護:

ParserConfig.getGlobalInstance().addDeny("類名");

 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70014251/viewspace-2898007/,如需轉載,請註明出處,否則將追究法律責任。

相關文章