Jackson框架Java反序列化远程代码执行漏洞
2017-04-18
北京时间4月15日,Jackson框架被发现存在一个反序列化代码执行漏洞。该漏洞存在于Jackson框架下的enableDefaultTyping方法,通过该漏洞,攻击者可以远程在服务器主机上越权执行任意代码,从而取得该网站服务器的控制权。
Jackson是一个开源的Java序列化与反序列化工具,可以将java对象序列化为xml或json格式的字符串,或者反序列化回对应的对象,由于其使用简单,速度较快,且不依靠除JDK外的其他库,被众多用户所使用。Jackson官方已经发布补丁修复了该开源组件。
相关地址:
http://www.cnvd.org.cn/flaw/show/CNVD-2017-04483
https://github.com/FasterXML/jackson-databind/issues/1599
受影响的版本
- Jackson Version 2.7.* < 2.7.10
- Jackson Version 2.8.* < 2.8.9
不受影响的版本
- Jackson Version 2.7.10
- Jackson Version 2.8.9
注:
截止到该报告发布时,官方还没有正式发布上述新版本,请用户持续关注并在新版本发布时及时更新升级。
规避方案
- Jackson官方即将发布新版本修复该漏洞,请使用受影响版本组件的用户尽快更新Jackson的jar包升级到不受影响的版本。
请参考链接:
https://github.com/FasterXML/jackson-databind/issues/1599
- 由于官方还没有正式发布不受影响的新版本,用户可以手动修改7.*,2.8.*以及master分支的代码来防护该漏洞:
具体操作请参考链接:
https://github.com/FasterXML/jackson-databind/commit/fd8dec2c7fab8b4b4bd60502a0f1d63ec23c24da
声 明
本安全公告仅用来描述可能存在的安全问题,尊龙凯时科技不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,尊龙凯时科技以及安全公告作者不为此承担任何责任。尊龙凯时科技拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经尊龙凯时科技允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。