再爆安全漏洞,这次轮到Jackson了,竟由阿里云上报

简介: 再爆安全漏洞,这次轮到Jackson了,竟由阿里云上报

✍前言


你好,我是YourBatman。


今天中午收到我司安全部发了一封邮件:Jackson存在安全漏洞。查了一下,这件事并不算很新鲜了(已经过了10天的样子),本文来聊聊吧。


说起来还蛮戏剧化:阿里云向Jackson官方提交了一个Jackson序列化安全漏洞。众所周知,在国内关于JSON库使用有两大主要阵营:国际著名的Jackson库和国内阿里巴巴出品的Fastjson。


同样的功能定位,不存在竞争想想也觉得不可能嘛。所以当我看到这个漏洞竟是阿里云上报的,就觉得这关系还蛮微妙呢,默默的腹黑了3秒钟,哈哈。


附:FasterXML/jackson-databind是一个简单基于Java应用库,Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象。Jackson是美国FasterXML公司的一款适用于Java的数据处理工具。jackson-databind是其中的一个具有数据绑定功能的组件。


image.png


✍正文


熟悉A哥的小伙伴知道,自从Fastjson上次爆出重大安全漏洞之后,我彻底的投入到了Jackson的阵营,工作中也慢慢去Fastjson化。这不还专门撰写了一篇文章来说明此事:Fastjson到了说再见的时候了。为了顺利完成“迁移”,我还专门写了一个,也有可能是全网唯一一个Jackson专栏,虽然很小众但就是干了~


关于本次漏洞


2020年8月25日,jackson-databind(官方)发布了Jackson-databind序列化漏洞的安全通告,漏洞编号为CVE-2020-24616。


漏洞详情


该漏洞源于不安全的反序列化。远程攻击者可通过精心构造的恶意载荷利用该漏洞在系统执行任意代码。


其实上它的底层原理是利用某些类的反序列化利用链,可以绕过 jackson-databind 黑名单限制,远程攻击者通过向使用该组件的web服务接口发送特制请求包(精心构造的JSON),可以造成远程代码执行影响。


漏洞评级

image.png


对此评级没有概念?那就来个参照物比一比嘛,我把Fastjson上次(2020-05)的安全漏洞评级给你做对比:



image.png


有限和广泛的的区别到底有多大,用文字不太好描述。打个比方,我觉得可类比艾滋病和新冠病毒的区别,前者对社会生态影响并不大,而后者恨不得让全球都停摆了,即使它致死率还远没有前者那么高,这就是影响范围的“力量”。


影响版本


jackson-databind < 2.9.10.6


因为现在大家都基于Spring Boot开发,针对版本号我扩展一下,方便你对号入座哈:

image.png


Spring Boot2.1.x应该是现行主流使用版本,因此从版本号上来看,大概率都在此次漏洞的射程范围内。


安全版本


jackson-databind 2.9.10.6或者2.10.x及以后版本


故事时间轴


2020-08-05,阿里云安全组同学向Jackson官方上报了这个安全漏洞:

image.png

当天,官方回复预计会在8-15左右发布bug修复版本修复次问题(waht?知道问题了还得10后修复?):


image.png

可结果是10天都不止。直到8.25这天,Jackson发布2.9.10.6版本修复了此问题,并向外界发公告公布此漏洞:

image.png


从8.5号Jackson官方知晓此漏洞,到8.25号最终发版解决此问题,整整20天,为何需要这么久?我想真像只有一个:此漏洞影响真的不大,或者说影响范围较窄。回忆下上次Fastjson出现的那个安全漏洞,24h内就给与了修复版本,并不是因为我们反映迅速,而是因为影响重大等不了…


修复建议


一股脑的全部升级到2.9.10.6或以上版本当然能规避此安全问题,但是你是否想过,你负责多少个服务?你团队、公司一共有多少个服务?你品,你细品,头大吗?


从官方对此次漏洞做出的反射弧时间来看,本次漏洞影响是相对较小的,因此我总结了下修复建议,倘若你同时满足如下三个条件,那么需要立马修复,否则可暂不理会:


1.对公网提供API接口


2.Jackson版本小于2.9.10.6


3.工程内有使用(或者引入)如下4个类任意一个:

  1. br.com.anteros.dbcp.AnterosDBCPDataSource
  2. com.pastdev.httpcomponents.configuration.JndiConfiguration
  3. com.nqadmin.rowset.JdbcRowSetImpl
  4. org.arrah.framework.rdbms.UpdatableJdbcRowsetImpl


条件3的理论支撑是我对比2.9.10.6版本release改动源码 + 我和我司安全组人员的讨论结果。修复方案也仅仅是在黑名单里新增了这4个类,截图如下:


image.png


✍总结


外行看热闹,内行看门道。千万不能说Fastjson出了个漏洞,Jackson也来一个就得出结论说打平手了,那会稍显外行。正所谓假设可以大胆,但小心求证,下结论需要谨慎。

总的来说,此次漏洞影响甚小,不用大惊小怪,我就继续我的Jackson之旅啦。



相关文章
|
6月前
|
安全 Nacos 数据库
探索 Nacos反序列化漏洞CNVD-2023-45001
Nacos 2.1.0版本遭遇高危反序列化漏洞(CNVD-2023-45001),允许攻击者通过7848端口执行远程代码。影响1.4.0至1.4.6及2.0.0至2.2.3版本。建议用户升级至2.2.3,下载链接:https://github.com/alibaba/nacos/releases/tag/2.2.3。升级过程平滑,数据库无须调整,仅需按文档(https://nacos.io/zh-cn/docs/v2/guide/user/auth.html)配置鉴权。重视安全修复,确保系统安全。
743 7
 探索 Nacos反序列化漏洞CNVD-2023-45001
|
6月前
|
存储 Web App开发 安全
溯源取证-WEB流量分析-简单
开发团队在公司的一个 Web 服务器上发现了异常文件,开发团队怀疑该服务器上存在潜在的恶意活动,网络团队准备了一个包含关键网络流量的 pcap 文件,供安全团队分析,而你的任务是分析 pcap,并从中发现问题
|
安全 fastjson 网络安全
记一次fastjson事件应急响应
记一次fastjson事件应急响应
236 0
|
JSON 安全 fastjson
Fastjson漏洞详解
Fastjson漏洞详解
1525 0
|
云安全 消息中间件 监控
Apache Log4j2 高危漏洞应急响应处置方法汇总整理
Apache Log4j2 高危漏洞应急响应处置方法汇总整理
768 0
Apache Log4j2 高危漏洞应急响应处置方法汇总整理
|
Web App开发 JSON 开发框架
QQ邮箱是如何泄密的:JSON劫持漏洞攻防原理及演练
不久之前,我写了一篇文章《一个微妙的JSON漏洞》,文中讲到这个漏洞可能会导致敏感信息泄露。针对该漏洞的特点,通过覆盖JavaScript数组构造函数以窃取(暴露)JSON返回数组,而现在大多数浏览器还无法防范这种攻击。
771 0
QQ邮箱是如何泄密的:JSON劫持漏洞攻防原理及演练
|
JSON 安全 fastjson
Fastjson 又出高危漏洞,可远程执行代码!
0x01 漏洞背景 2020年05月28日, 360CERT监测发现业内安全厂商发布了 Fastjson 远程代码执行漏洞的风险通告,漏洞等级:高危 Fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。
212 0
|
XML 安全 Java
jdk紧急漏洞,XMLDecoder反序列化攻击
昨天在公司发现了一个jdk中的XMLDecoder反序列化的漏洞,看起来很危险!下面通过两个示例来看看这个漏洞的危害! 示例1:利用XmlDecoder删除本地文件 首先来看这个xmldecoder.xml文件内容:
379 0
|
XML JSON 安全