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