CVE-2020-9548|FastXML Jackson-databind远程代码执行漏洞

admin 2022年5月24日09:24:32安全漏洞评论53 views1968字阅读6分33秒阅读模式

2020年3月2日,NVD发布了一则FasterXML Jackson-databind远程代码执行漏洞信息,CVE编号:CVE-2020-9548。攻击者可以利用缺陷,绕过限制,实现JNDI注入,最终在受害主机上执行任意代码。 





漏洞名称:FastXML Jackson-databind远程代码执行漏洞CVE-2020-9548

威胁等级:高危

影响范围:Jackson-databind 2.0.0 - 2.9.10.3

漏洞类型:代码执行

利用难度:简单






漏洞分析


1 FasterXML Jackson组件介绍

FasterXML Jackson是美国FasterXML公司的一款适用于Java的数据处理工具。Jackson-databind是其中的一个具有数据绑定功能的组件。Jackson-databind可以将Java对象转换成json对象,同样也可以将json转换成Java对象。


2 漏洞描述

2020年3月2日,NVD发布了一则FasterXML Jackson-databind远程代码执行漏洞信息,CVE编号:CVE-2020-9548。该漏洞是由JNDI注入导致远程代码执行, Jackson-databind 2.0.0 - 2.9.10.3版本中缺少br.com.anteros.dbcp.AnterosDBCPConfig黑名单类,攻击者可以利用上述缺陷,绕过限制,实现JNDI注入,最终在受害主机上执行任意代码。 


3 漏洞分析

以Jackson-databind 2.10.1 + Anteros-DBCP-1.0.1 + metrics-healthchecks-3.0.2作为漏洞环境进行分析,Jackson-databind会进行内部的初始化。之后会处理我们传入的json数据。漏洞主要存在于Anteros-DBCP库中的br.com.anteros.dbcp.AnterosDBCPConfig类中。


我们跟踪一下漏洞利用的过程,当Jackson-databind接收一段json数据之后,会在ReaderBasedJsonParser类中解析Json数据,逐位判断字符。如下图:

CVE-2020-9548|FastXML Jackson-databind远程代码执行漏洞

通过双引号判断字段名的起始和结束。解析json数据得到的类会在call方法中实例化,并在调用构造方法进行内部成员变量的初始化

CVE-2020-9548|FastXML Jackson-databind远程代码执行漏洞

CVE-2020-9548|FastXML Jackson-databind远程代码执行漏洞

获取传入json数据中的字段名,通过反序列化操作,为内部属性赋值

CVE-2020-9548|FastXML Jackson-databind远程代码执行漏洞

CVE-2020-9548|FastXML Jackson-databind远程代码执行漏洞

通过反射的方式调用类中方法。当执行br.com.anteros.dbcp.AnterosDBCPConfig类中getObjectOrPerformJndiLookup方法时,受害主机会访问攻击者传入的恶意链接,加载恶意文件,从而触发远程代码执行攻击。


经验证,metricRegistry和healthCheckRegistry属性都可以完成漏洞的利用。


4 漏洞复现

搭建Jackson-databind 2.10.1 + Anteros-DBCP-1.0.1 + metrics-healthchecks-3.0.2环境,传入精心构造的json数据,让目标服务器加载远程主机上的恶意文件,从而在目标主机上执行任意代码。效果如图:

CVE-2020-9548|FastXML Jackson-databind远程代码执行漏洞


影响范围


目前受影响的Jackson-databind版本:

Jackson-databind 2.0.0 - 2.9.10.3



解决方案


1修复建议

官方发布的最新版本已经修复了此漏洞,请受影响的用户下载最新版本防御此漏洞。


下载链接:https://github.com/FasterXML/jackson-databind/releases



2 深信服解决方案

深信服下一代防火墙】可轻松防御此漏洞, 建议部署深信服下一代防火墙的用户更新至最新的安全防护规则,可轻松抵御此高危风险。


深信服云盾】已第一时间从云端自动更新防护规则,云盾用户无需操作,即可轻松、快速防御此高危风险。


深信服安全感知平台】可检测利用该漏洞的攻击,实时告警,并可联动【深信服下一代防火墙等产品】实现对攻击者ip的封堵。


深信服安全运营服务】深信服云端安全专家提供7*24小时持续的安全运营服务。在漏洞爆发之初,云端安全专家即对客户的网络环境进行漏洞扫描,保障第一时间检查客户的主机是否存在此漏洞。对存在漏洞的用户,检查并更新了客户防护设备的策略,确保客户防护设备可以防御此漏洞风险。


时间轴


2020/3/2



深信服安全团队监测到FasterXML Jackson-databind 远程代码执行漏洞CVE-2020-9548信息。

2020/3/4



深信服千里目安全实验室成功复现此漏洞并发布漏洞分析文章。


点击阅读原文,及时关注深信服智安全Wiki平台查询漏洞的产品解决方案(需登录)~

CVE-2020-9548|FastXML Jackson-databind远程代码执行漏洞


原文始发于微信公众号(深信服千里目安全实验室):CVE-2020-9548|FastXML Jackson-databind远程代码执行漏洞

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年5月24日09:24:32
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  CVE-2020-9548|FastXML Jackson-databind远程代码执行漏洞 http://cn-sec.com/archives/784998.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: