Jackson-databind和fastjson遠程代碼執行漏洞風險通告
發布時間 2020-02-21漏洞編號和級別
CVE編號:CVE-2020-8840,危險級別:嚴重,CVSS分值:9.8
影響版本
1. FasterXML jackson-databind
受影響版本
2.0.0 <= FasterXML jackson-databind <= 2.9.10.2
不受影響版本
FasterXML jackson-databind = 2.8.11.5
FasterXML jackson-databind = 2.9.10.3(暫未發布)
2. fastjson
受影響版本
fastjson <= 1.2.62
漏洞概述
2月19日,NVD發布安全通告披露了jackson-databind由JNDI注入導致的遠程代碼執行漏洞。受影響版本的jackson-databind中由于缺少某些xbean-reflect/JNDI黑名單類,如org.apache.xbean.propertyeditor.JndiConverter,可導致攻擊者使用JNDI注入的方式實現遠程代碼執行。
在jackson-databind中的反序列化gadget也同樣影響了fastjson,在開啟了autoType功能的情況下(autoType功能默認關閉),攻擊者利用該漏洞可實現在目標機器上的遠程代碼執行。
漏洞驗證
暫無PoC/EXP。
修復建議
1. FasterXML jackson-databind
目前官方已在最新版本中修復了該漏洞,請受影響的用戶盡快升級版本進行防護,暫未發布新版本的請持續關注官方信息,下載鏈接:https://github.com/FasterXML/jackson-databind/releases。
2. fastjson
官方暫未發布針對此漏洞的修復版本,開啟了autoType功能的受影響用戶可通過關閉autoType來規避風險(autoType功能默認關閉),另建議將JDK升級到最新版本。
autoType關閉方法如下:
方法一:
在項目源碼中全文搜索如下代碼,找到并將此行代碼刪除:
ParserConfig.getGlobalInstance().setAutoTypeSupport(true);
方法二:
在JVM中啟動項目時,切勿添加以下參數:
-Dfastjson.parser.autoTypeSupport=true
參考鏈接
https://nvd.nist.gov/vuln/detail/CVE-2020-8840