Fastjson反序列化遠程代碼執行漏洞

 漏洞資訊     |      2022-05-23

一、  漏洞描述

Fastjson官方發布公告稱在1.2.80及以下版本中存在新的反序列化風險,在特定條件下可繞過默認autoType關閉限制,從而反序列化有安全風險的類,攻擊者利用該漏洞可實現在目標機器上的遠程代碼執行。請相關用戶盡快采取防護措施。

Fastjson是阿里巴巴的開源JSON解析庫,它可以解析JSON格式的字符串,支持將Java Bean序列化為JSON字符串,也可以從JSON字符串反序列化到JavaBean。由于具有執行效率高的特點,應用范圍廣泛。

二、  漏洞詳情

: Fastjson反序列化遠程代碼執行

CVE:

組件: Fastjson

漏洞類型: 代碼問題

影響: 遠程代碼執行

簡述: 見漏洞描述。

三、  影響版本


影響產品或系統版本

安全版本

Fastjson

<=1.2.80

1.2.83

四、  安全版本

見三

五、  安全建議

漏洞自查:

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

lsof | grep fastjson

注:在Fastjson 1.2.68及之后的版本中,官方添加了SafeMode 功能,可完全禁用autoType。

通用修補建議:

目前官方已在最新版本1.2.83中修復了該漏洞,請受影響的用戶盡快升級版本進行防護,官方下載鏈接:https://github.com/alibaba/fastjson/releases

升級步驟如下:

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

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

開發人員可通過配置Maven的方式對應用進行升級并編譯發布,配置如下:

<dependency>

    <groupId>com.alibaba</groupId>

    <artifactId>fastjson</artifactId>

    <version>1.2.83</version>

</dependency>

注:該版本涉及autotype行為變更,在某些場景會出現不兼容的情況,若遇到問題可以到 https://github.com/alibaba/fastjson/issues 尋求幫助。

臨時修補建議:

fastjson在1.2.68及之后的版本中引入了safeMode,配置safeMode后,無論白名單和黑名單,都不支持autoType,可杜絕反序列化Gadgets類變種攻擊(關閉autoType注意評估對業務的影響)。開啟方法可參考 https://github.com/alibaba/fastjson/wiki/fastjson_safemode 。1.2.83修復了此次發現的漏洞,開啟safeMode是完全關閉autoType功能,避免類似問題再次發生,這可能會有兼容問題,請充分評估對業務影響后開啟。