《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 http://www.iocoder.cn/Fight/Fastjson-exposed-remote-code-execution-high-risk-vulnerabilities-how-to-solve/ 「芋道源码」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注**微信公众号:【芋道源码】**有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言将得到认真回复。甚至不知道如何读源码也可以请教噢
  4. 新的源码解析文章实时收到通知。每周更新一篇左右
  5. 认真的源码交流微信群。

fastjson近日曝出代码执行漏洞,恶意用户可利用此漏洞进行远程代码执行,入侵服务器,漏洞评级为“高危”。

基本介绍

fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。

漏洞介绍

fastjson在1.2.24以及之前版本近日曝出代码执行漏洞,当用户提交一个精心构造的恶意的序列化数据到服务器端时,fastjson在反序列化时存在漏洞,可导致远程任意代码执行漏洞。

  • 风险:高风险
  • 方式:黑客通过利用漏洞可以实现远程代码执行
  • 影响:1.2.24及之前版本
  • 安全版本:>=1.2.28

修复方法

方式一:请将 fastjson 升级到 1.2.28 或者更新版本

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

方式二:直接下载

1.2.28版本下载地址 http://repo1.maven.org/maven2/com/alibaba/fastjson/1.2.28/

常见问题

1、升级遇到不兼容问题怎么办?

1.2.28已经修复了绝大多数兼容问题,但是总会有一些特殊的用法导致不兼容,如果你遇到不兼容问题,通过 https://github.com/alibaba/fastjson/wiki/incompatible_change_list 查看不兼容问题,链接的后面提供了遇到不兼容问题之后的使用相应的sec01版本解决办法。

2、升级之后报错autotype is not support

安全升级包禁用了部分autotype的功能,也就是"@type"这种指定类型的功能会被限制在一定范围内使用。如果你使用场景中包括了这个功能,https://github.com/alibaba/fastjson/wiki/enable_autotype 这里有一个介绍如何添加白名单或者打开autotype功能。

3、通过配置打开autotype之后是否存在安全漏洞

在1.2.28以及所有的.sec01版本中,有多重保护,但打开autotype之后仍会存在风险,不建议打开,而是使用一个较小范围的白名单。

4、Android环境使用是否需要升级

目前未发现漏洞对Android系统产生影响,在Android环境中使用不用升级。

讨论

欢迎留言,回复你们项目中,正在使用的 JSON 解析工具库?!

文章目录
  1. 1. 基本介绍
  2. 2. 漏洞介绍
  3. 3. 修复方法
  4. 4. 常见问题
  5. 5. 讨论