当前位置:   article > 正文

【解决方案】Fastjson反序列化远程代码执行漏洞_fastjson反序列化漏洞解决

fastjson反序列化漏洞解决


一、 漏洞名称
Fastjson反序列化远程代码执行漏洞
二、 漏洞危害
Fastjson是阿里巴巴开源的Java对象和JSON格式字符串的快速转换的工具库。它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。相关Fastjson版本存在远程代码执行漏洞,攻击者可以在特定依赖下利用此漏洞绕过默认autoType关闭限制,从而反序列化有关安全风险的类。在特定条件下可能导致远程代码执行。
三、 影响范围
受影响版本:
Fastjson ≤ 1.2.80
不受影响版本:
Fastjson = 1.2.83
四、 修复方案
请目前官方已在最新版本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 寻求帮助。
临时防护措施:
若相关用户暂时无法进行升级操作,也可使用下列方式进行缓解:
由于autotype开关的限制可被绕过,请受影响用户升级fastjson至1.2.68及以上版本,通过开启safeMode配置完全禁用autoType。三种配置SafeMode的方式如下:
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
 

>> 更多技术问题可扫码学习交流:

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/412672
推荐阅读
相关标签
  

闽ICP备14008679号