據國家網路與資訊保安資訊通報中心監測發現,開源Java開發元件Fastjson存在反序列化遠端程式碼執行漏洞。攻擊者可利用上述漏洞實施任意檔案寫入、服務端請求偽造等攻擊行為,造成伺服器許可權被竊取、敏感資訊洩漏等嚴重影響。
據統計,此次事件影響Fastjson 1.2.80及之前所有版本。目前, Fastjson最新版本1.2.83已修復該漏洞。 葡萄城提醒廣大開發者:請及時排查梳理受影響情況,在確保安全的前提下修復漏洞、消除隱患,提高網路系統安全防護能力,嚴防網路攻擊事件。
漏洞描述
5月23日,Fastjson官方釋出公告稱在1.2.80及以下版本中存在新的反序列化風險,在特定條件下可繞過預設autoType關閉限制,從而反序列化有安全風險的類,攻擊者利用該漏洞可實現在目標機器上的遠端程式碼執行。
Fastjson是開源JSON解析庫,它可以解析JSON格式的字串,支援將Java Bean序列化為JSON字串,也可以從JSON字串反序列化到Java Bean。由於具有執行效率高的特點,Fastjson被眾多java軟體作為元件整合,廣泛存在於java應用的服務端程式碼中。
漏洞詳情
• 漏洞名稱: Fastjson反序列化遠端程式碼執行漏洞
• 漏洞編號: 暫無
• 漏洞型別: 遠端任意程式碼執行
• 元件名稱: Fastjson
• 影響版本: Fastjson ≤ 1.2.80
• 漏洞等級: 嚴重
修復建議
1、升級到最新版本1.2.83,下載地址:https://github.com/alibaba/fa...
由於該版本涉及autotype行為變更,在某些場景會出現不相容的情況,如遇到問題可以到https://github.com/alibaba/fa...尋求幫助。
2、safeMode加固
Fastjson在1.2.68及之後的版本中引入了safeMode,配置safeMode後,無論白名單和黑名單,都不支援autoType,可杜絕反序列化Gadgets類變種攻擊。
3、升級到Fastjson v2,下載地址: https://github.com/alibaba/fa...
Fastjson已經開源2.0版本,在2.0版本中,不再為了相容提供白名單,提升了安全性。Fastjson v2程式碼已經重寫,效能有了很大提升,不完全相容1.x,升級需要做認真的相容測試。升級遇到問題,可以在https://github.com/alibaba/fa... 尋求幫助。
排查建議
• Maven:排查pom.xml,通過搜尋Fastjson確定版本號
• 其他專案通過搜尋jar檔案確定Fastjson版本號
小聲補一句,經過測試,我們的Wyn、活字格、SpreadJS 和 GcExcel都並未使用Fastjson JSON庫,因此大家無需擔心安全問題。