处置手册 | fastjson远程代码执行漏洞

1
漏洞介绍
近日, fastjson出现高危远程代码执行漏洞,该漏洞是fastjson于2017年爆出的远程代码执行漏洞新的绕过利用方式,攻击者可以通过此漏洞远程执行恶意代码来入侵服务器。目前PoC已公开。
fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean,由于具有执行效率高的特点,应用范围广泛。请相关用户尽快升级至1.2.58版本,以确保对此漏洞的防护。?
2
影响范围
受影响版本
fastjson < = 1.2.47
不受影响版本
fastjson > = 1.2.48,官方建议升级到1.2.51或最新版本 1.2.58。
3
漏洞防护?
阿里官方已经发布公告,建议受影响的用户立刻升级到1.2.51/1.2.58 版本,下载地址如下:
http://repo1.maven.org/maven2/com/alibaba/fastjson/1.2.58/
升级步骤如下:
1、备份原fastjson依赖库,避免升级失败的情况发生。
2、将低版本的fastjson库替换为1.2.58版本即可
开发人员可通过配置Maven的方式对应用进行升级并编译发布,配置如下:
??? ?
??? ?
???
4
漏洞分析
补丁分析
在fastjson 1.2.51版本中,新增黑名单hash 8409640769019589119L,该hash对应的黑名单类即为java.lang.Class:

另外在TypeUtils#loadClass方法中也修改了默认的cache为false,因此也无法将指定类放入mapping中:

漏洞分析
本次漏洞是通过两部分json数据,利用java.lang.Class绕过第一次checkAutoType检查,并且把恶意类放在mapping中,在解析第二部分json数据时从mapping中获取相应类,从而绕过第二次checkAutoType检查,加载恶意类完成代码执行。
在com. alibaba. fastjson. parser. DefaultJSONParser#parseObject过程中,如果遇到@type,会取出值进行checkAutoType检查,在fastjson 1.2.25之后新增了黑名单类,常规com.sun.rowset.JdbcRowSetImpl无法通过检查,但是此处可以利用fastjson一个特性绕过黑名单检查。

注意到在checkAutoType中,检测到黑名单类同时满足getClassFromMapping为空,才会抛出异常,此处如果把恶意类放入mapping中便可绕过这个检测。回溯什么情况下会把类放入mapping
在DefaultJSONParser.parseObject中,
obj = deserializer.deserialze(this, clazz, fieldName);
跟进deserialze,可以看到如果传入的key为”val”,则把val的值赋值给strVal,随后对clazz进行一系列if判断,当clazz为class的情况,进入loadClass。

在loadClass中把clazz放入mapping。

随后通过clazz = TypeUtils.getClassFromMapping(typeName);从mapping获取clazz,如果clazz不为空则直接返回,不经过黑名单检查,同样也不检查autoTypeSupport,因此该漏洞无需开启autoTypeSupport。

因此如果解析"name":{"@type":"java.lang.Class","val":"com.sun.rowset.JdbcRowSetImpl"}的时候便会TypeUtils.loadClass加载val设置的类,并把该类放在一个mapping中,随后在解析第二部分json数据时,由于能够从getClassFromMapping获取到值从而绕过checkAutoType检查,达到加载任意类的目的。?
命令执行利用成功:

? 关于绿盟科技??
北京神州绿盟信息安全科技股份有限公司(简称绿盟科技)成立于2000年4月,总部位于北京。在国内外设有30多个分支机构,为政府、运营商、金融、能源、互联网以及教育、医疗等行业用户,提供具有核心竞争力的安全产品及解决方案,帮助客户实现业务的安全顺畅运行。
基于多年的安全攻防研究,绿盟科技在网络及终端安全、互联网基础安全、合规及安全管理等领域,为客户提供入侵检测/防护、抗拒绝服务攻击、远程安全评估以及Web安全防护等产品以及专业安全服务。
北京神州绿盟信息安全科技股份有限公司于2014年1月29日起在深圳证券交易所创业板上市,股票简称:绿盟科技,股票代码:300369。
? ? ·? ? 声明? ? ·? ??
本安全公告仅用来描述可能存在的安全问题,绿盟科技不为此安全公告提供任何保证或承诺。
由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,绿盟科技以及安全公告作者不为此承担任何责任。
绿盟科技拥有对此安全公告的修改和解释权。
如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经绿盟科技允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。

![]() | 请点击屏幕右上方“…” NSFOCUS-weixin |
↑↑↑长按二维码,下载绿盟云APP
关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
关注网络尖刀微信公众号随时掌握互联网精彩
- 1 确保“十五五”开好局起好步 7904516
- 2 员工“踢了一脚” 救了老板一命 7809388
- 3 故宫下雪了 7714477
- 4 2026年经济工作要这么干 7617032
- 5 村支书卖小米被小米法务投诉下架 7520661
- 6 女子买千元羽绒服穿1天变吸油服 7428946
- 7 直击北京初雪 7333662
- 8 凭煮蛋涨粉350万 “蛋神”回应爆红 7233061
- 9 感觉时间越来越快不是错觉 7143018
- 10 中央经济工作会议释放哪些重要信号 7045121












绿盟科技
