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