0x00 背景
fastjson采用黑白名單的方法來防御反序列化漏洞,導致當黑客不斷發掘新的反序列化Gadgets類時,在autoType關閉的情況下仍然可能可以繞過黑白名單防御機制,造成遠程命令執行漏洞。經研究,該漏洞利用門檻較低,可繞過autoType限制,風險影響較大。阿里云應急響應中心提醒fastjson用戶盡快采取安全措施阻止漏洞攻擊。
0x01 影響范圍
fastjson < 1.2.69
fastjson sec 版本 < sec10
0x02 漏洞修復
1、升級至安全版本 較低版本升級至最新版本 1.2.69 可能會出現兼容性問題,建議升級至特定 版本的 sec10 bugfix 版本,請參考以下鏈接盡快修復: https://repo1.maven.org/maven2/com/alibaba/fastjson/
2、開啟 SafeMode 若無法立即升級版本,可通過開啟 SafeMode 來緩解此漏洞。fastjson 在 1. 2.68 及之后的版本中引入了 SafeMode,配置 SafeMode 后,無論白名單和黑名 單,都不支持 autoType,可一定程度上緩解反序列化 Gadgets 類變種攻擊。以 下為配置 SafeMode 的三種方式: (
1) 在代碼中配置 ParserConfig.getGlobalInstance().setSafeMode(true);
2)加上 JVM 啟動參數 -Dfastjson.parser.safeMode=true 如果有多個包名前綴,用逗號隔開
3)通過 fastjson.properties 文件配置 通過類路徑的 fastjson.properties 文件來配置,配置方式如下: fastjson.parser.safeMode=true 參考鏈接如下: https://github.com/alibaba/fastjson/wiki/fastjson_safemode
3、采用其他json處理組件替換,jackson-databind漏洞也頻發,建議使用Gson
4、使用WAF/云防火墻緊急漏洞攔截,再升級到安全版本





