一、 漏洞描述
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功能,避免類似問題再次發生,這可能會有兼容問題,請充分評估對業務影響后開啟。