预警编号:NS-2019-0028
2019-07-23
TAG: | Jackson-databind、CVE-2019-12384、远程代码执行 |
---|---|
危害等级: | 高,攻击者利用此漏洞可实现远程代码执行,目前PoC已公开。 |
版本: | 1.0 |
1
漏洞概述
6月21日,Redhat官方发布jackson-databind漏洞(CVE-2019-12384)安全通告,多个Redhat产品受此漏洞影响,CVSS评分为8.1,漏洞利用复杂度高。7月22日,安全研究员Andrea Brancaleoni对此漏洞进行分析,并公布了该漏洞的分析文章。
该漏洞是由于Jackson黑名单过滤不完整而导致,当开发人员在应用程序中通过ObjectMapper对象调用enableDefaultTyping方法时,程序就会受到此漏洞的影响,攻击者就可利用构造的包含有恶意代码的json数据包对应用进行攻击,直接获取服务器控制权限。
目前针对该漏洞利用的POC已经公开,请受影响的用户及时更新版本进行修复,漏洞利用成功的截图如下:
参考链接:
https://blog.doyensec.com/2019/07/22/jackson-gadgets.html
SEE MORE →
2影响范围
受影响版本
不受影响版本
3漏洞排查
当应用程序中引入Jackson组件,通过ObjectMapper对象调用enableDefaultTyping方法时,程序就会受到此漏洞的影响。建议开发人员排查Jackson-databind组件的引入情况,包括是否引入以及版本详情,并且排查代码中是否调用了enableDefaultTyping方法。以Maven项目为例,排查方法如下所示:
1、检查pom.xml相关文件对jackson-databind引入情况,判断当前版本是否低于2.9.9.1版本。
2、当引入了jackson-databind组件时,排查代码中是否调用了enableDefaultTyping方法,如果调用了,建议立即升级相关组件并重启Web应用。
4漏洞防护
4.1 官方升级
官方已经在2.9.9.1版本中修复该漏洞,请用户尽快升级至2.9.9.1及以上版本进行防护。
下载链接:https://github.com/FasterXML/jackson-databind/releases
开发人员也可通过配置Maven的方式对应用升级并编译发布,配置方法如下:
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind --><dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.9.9.1</version></dependency> |
---|
另外,Jackson-dababind的最新主要版本(3.x)将使用新的API,该API layer可以提供一种基于白名单的序列化方式来处理多态类(polymorph classes),以此解决该系列漏洞。
END
作者:绿盟科技安全服务部
声明
本安全公告仅用来描述可能存在的安全问题,绿盟科技不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,绿盟科技以及安全公告作者不为此承担任何责任。
绿盟科技拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经绿盟科技允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。