【漏洞通告】Fastjson反序列化远程代码执行漏洞

VSole2022-05-23 13:11:13

由于autotype开关的限制可被绕过,请受影响用户升级fastjson至1.2.68及以上版本,通过开启safeMode配置完全禁用autoType。三种配置SafeMode的方式如下:

通告编号:NS-2022-0016

漏洞概述

5月23日,绿盟科技CERT监测到Fastjson官方发布公告称在1.2.80及以下版本中存在新的反序列化风险,在特定条件下可绕过默认autoType关闭限制,从而反序列化有安全风险的类,攻击者利用该漏洞可实现在目标机器上的远程代码执行。请相关用户尽快采取措施进行防护。

Fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。由于具有执行效率高的特点,应用范围广泛。

参考链接:

https://github.com/alibaba/fastjson/wiki/securityupdate20220523

影响范围

受影响版本

  • Fastjson ≤ 1.2.80

不受影响版本

  • Fastjson = 1.2.83

漏洞检测

3.1 人工检测

相关用户可使用以下命令检测当前使用的Fastjson版本:

lsof | grep fastjson

注: 在Fastjson 1.2.68及之后的版本中,官方添加了SafeMode 功能,可完全禁用autoType。

漏洞防护

4.1 官方升级

目前官方已在最新版本1.2.83中修复了该漏洞,请受影响的用户尽快升级版本进行防护,官方下载链接:https://github.com/alibaba/fastjson/releases

升级步骤如下:

1.备份原fastjson依赖库,避免升级失败的情况发生。

2.将低版本的fastjson库替换为1.2.83版本即可

开发人员可通过配置Maven的方式对应用进行升级并编译发布,配置如下:

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
   <version>1.2.83</version>
</dependency>

注:该版本涉及autotype行为变更,在某些场景会出现不兼容的情况,若遇到问题可以到 https://github.com/alibaba/fastjson/issues 寻求帮助。

4.2 临时防护措施

若相关用户暂时无法进行升级操作,也可使用下列方式进行缓解:

1.在代码中配置:

ParserConfig.getGlobalInstance().setSafeMode(true);

2.加上JVM启动参数:

-Dfastjson.parser.safeMode=true 

如果有多个包名前缀,可用逗号隔开。

3.通过fastjson.properties文件配置:

通过类路径的fastjson.properties文件来配置,配置方式如下:

fastjson.parser.safeMode=true

参考官方文档:https://github.com/alibaba/fastjson/wiki/fastjson_safemode

另可通过将有风险的类添加至黑名单进行防护:

ParserConfig.getGlobalInstance().addDeny("类名");

利用链可参考:

https://github.com/alibaba/fastjson/commit/560782c9ee12120304284ba98b61dc61e30324b3


ParserConfig.getGlobalInstance().setSafeMode(true)


远程代码执行漏洞fastjson
本作品采用《CC 协议》,转载必须注明作者和本文链接
Fastjson 反序列化远程代码执行漏洞 Fastjson 是一款开源的高性能 JSON 解析处理库,在国内被广泛使用。5 月 23 日,Fastjson 官方发布安全通告,声明修复了一处新的反序列化漏洞: https://github.com/alibaba/fastjson/wiki/security_update_20220523
如何攻击Java Web应用
2021-08-23 11:06:00
本文从黑盒渗透的角度,总结下Java Web应用所知道的一些可能被利用的入侵点。
下面所讲的大部分操作是基于拿到华为云用户泄漏的AK、SK或者凭证而进行的一系列操作。0x01 初始访问 1、元数据 华为云元数据地址:http://169.254.169.254,需要注意直接访问是看不到openstack目录的,下面列举几个常见的目录:
鉴于该漏洞影响范围极大,建议企业尽快做好自查及防护。
Fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。由于具有执行效率高的特点,应用范围广泛。
漏洞分析花了蛮多时间
fastjson.jar是阿里开发的一款专门用于Java开发的包,可以方便的实现json对象与JavaBean对象的转换,实现JavaBean对象与json字符串的转换,实现json对象与json字符串的转换。除了这个fastjson以外,还有Google开发的Gson包,其他形式的如net.sf.json包,都可以实现json的转换。方法名称不同而已,最后的实现结果都是一样的。
Fastjson 是一个 Java 库,可以将 Java 对象转换为 JSON 格式,当然它也可以将 JSON 字符串转换为 Java 对象。Fastjson 可以操作任何 Java 对象,即使是一些预先存在的没有源码的对象。 在进行fastjson漏洞复现学习之前需要了解几个概念,如下:
VSole
网络安全专家