fastjson近日曝出代码执行漏洞,恶意用户可利用此漏洞进行远程代码执行,入侵服务器,漏洞评级为“高危”。
基本介绍
fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。
漏洞介绍
fastjson在1.2.24以及之前版本近日曝出代码执行漏洞,当用户提交一个精心构造的恶意的序列化数据到服务器端时,fastjson在反序列化时存在漏洞,可导致远程任意代码执行漏洞。
风险:高风险
方式:黑客通过利用漏洞可以实现远程代码执行
影响:1.2.24及之前版本
安全版本:>=1.2.28
修复方法
1.请将fastjson升级到1.2.28或者更新版本
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.28</version> </dependency>
2. 直接下载
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环境中使用不用升级。