一、 漏洞描述
Fastjson官方發(fā)布公告稱在1.2.80及以下版本中存在新的反序列化風(fēng)險(xiǎn),在特定條件下可繞過(guò)默認(rèn)autoType關(guān)閉限制,從而反序列化有安全風(fēng)險(xiǎn)的類,攻擊者利用該漏洞可實(shí)現(xiàn)在目標(biāo)機(jī)器上的遠(yuǎn)程代碼執(zhí)行。請(qǐng)相關(guān)用戶盡快采取防護(hù)措施。
Fastjson是阿里巴巴的開(kāi)源JSON解析庫(kù),它可以解析JSON格式的字符串,支持將Java Bean序列化為JSON字符串,也可以從JSON字符串反序列化到JavaBean。由于具有執(zhí)行效率高的特點(diǎn),應(yīng)用范圍廣泛。
二、 漏洞詳情
: Fastjson反序列化遠(yuǎn)程代碼執(zhí)行
CVE: 無(wú)
組件: Fastjson
漏洞類型: 代碼問(wèn)題
影響: 遠(yuǎn)程代碼執(zhí)行
簡(jiǎn)述: 見(jiàn)漏洞描述。
三、 影響版本
影響產(chǎn)品或系統(tǒng)版本 | 安全版本 | |
Fastjson | <=1.2.80 | 1.2.83 |
四、 安全版本
見(jiàn)三
五、 安全建議
漏洞自查:
相關(guān)用戶可使用以下命令檢測(cè)當(dāng)前使用的Fastjson版本:
lsof | grep fastjson
注:在Fastjson 1.2.68及之后的版本中,官方添加了SafeMode 功能,可完全禁用autoType。
通用修補(bǔ)建議:
目前官方已在最新版本1.2.83中修復(fù)了該漏洞,請(qǐng)受影響的用戶盡快升級(jí)版本進(jìn)行防護(hù),官方下載鏈接:https://github.com/alibaba/fastjson/releases
升級(jí)步驟如下:
備份原fastjson依賴庫(kù),避免升級(jí)失敗的情況發(fā)生。
將低版本的fastjson庫(kù)替換為2.83版本即可
開(kāi)發(fā)人員可通過(guò)配置Maven的方式對(duì)應(yīng)用進(jìn)行升級(jí)并編譯發(fā)布,配置如下:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.83</version>
</dependency>
注:該版本涉及autotype行為變更,在某些場(chǎng)景會(huì)出現(xiàn)不兼容的情況,若遇到問(wèn)題可以到 https://github.com/alibaba/fastjson/issues 尋求幫助。
臨時(shí)修補(bǔ)建議:
fastjson在1.2.68及之后的版本中引入了safeMode,配置safeMode后,無(wú)論白名單和黑名單,都不支持autoType,可杜絕反序列化Gadgets類變種攻擊(關(guān)閉autoType注意評(píng)估對(duì)業(yè)務(wù)的影響)。開(kāi)啟方法可參考 https://github.com/alibaba/fastjson/wiki/fastjson_safemode 。1.2.83修復(fù)了此次發(fā)現(xiàn)的漏洞,開(kāi)啟safeMode是完全關(guān)閉autoType功能,避免類似問(wèn)題再次發(fā)生,這可能會(huì)有兼容問(wèn)題,請(qǐng)充分評(píng)估對(duì)業(yè)務(wù)影響后開(kāi)啟。