漏洞描述
FastJSON是阿里巴巴的開源JSON解析庫,它可以解析JSON格式的字符串,支持將Java Bean序列化為JSON字符串,也可以從JSON字符串反序列化到JavaBean。由于具有執行效率高的特點,應用范圍廣泛。 FastJSON 存在反序列化遠程代碼執行漏洞,漏洞成因是Fastjson autoType開關的限制可被繞過,然后反序列化有安全風險的類。攻擊者利用該漏洞可實現在目標機器上的遠程代碼執行。
基本信息
· CVE編號:CVE-2022-25845
· 漏洞類型:不安全的反序列
· 危險等級:高危
· 受影響應用版本:FastJSON <= 1.2.80(非noneautotype版本)
· 檢測方式:版本對比
· 是否加入全局:是
· 公布時間: 2022-05-23
· 風險特征:遠程利用
· CVSS評分: 7
· CVSS詳情: AV:N/AC:M/Au:N/C:P/I:P/A:P
修復建議
1.將 FastJSON 升級到 1.2.83 及以上版本,或noneautotype版本,下載地址://repo1.maven.org/maven2/com/alibaba/fastjson
2.臨時修復建議:開啟了autoType功能的受影響用戶可通過關閉autoType來規避風險,另建議將JDK升級到最新版本。
由于autotype開關的限制可被繞過,請受影響用戶升級到FastJSON 1.2.68及以上版本,通過開啟safeMode配置完全禁用autoType。三種配置SafeMode的方式如下:
1)在代碼中配置: ParserConfig.getGlobalInstance().setSafeMode(true);
2)加上JVM啟動參數: -Dfastjson.parser.safeMode=true (如果有多個包名前綴,可用逗號隔開)
3)通過類路徑的fastjson.properties文件來配置: fastjson.parser.safeMode=true