一、说明:
Fastjson是一个开源的高性能JSON解析处理库,在国内广泛使用。5 月 23 日,Fastjson 官方发布安全公告,称修复了一个新的反序列化漏洞:
Fastjson 防御基于黑白名单的反序列化漏洞,这些防御机制在 Fastjson 1.2.80 及更早版本中可以绕过。因此,在默认配置下,当应用或系统使用 Fastjson 解析用户可控的 JSON 字符串时,可能会对远程代码执行造成危害。
2、影响范围:
Fastjson ≤ 1.2.80 版本。
3、解决方案或建议:
3.1 升级到最新版本 1.2.83https://github.com/alibaba/fastjson/releases/tag/1.2.83
此版本涉及自动类型行为的更改。在某些情况下,会出现不兼容的情况。如有问题,可以前往https://github.com/alibaba/fastjson/issues寻求帮助。
3.2 safeMode 加固
fastjson 在 1.2.68 及更高版本中引入了 safeMode。配置为safeMode后,无论白名单还是黑名单都不支持autoType,可以防止反序列化Gadgets变种攻击(关闭autoType,注意评估对业务的影响)
3.2.1 开启方式
参考https://github.com /alibaba/fastjson/wiki…n_safemode
3.2.2 1.2.83以后是否需要使用safeMode
1.2.83修复了本次发现的漏洞。开启safeMode是为了彻底关闭autoType功能,避免类似问题再次发生。这可能存在兼容性问题。请充分评估对业务的影响并开放。
3.3升级到fastjson v2
fastjson v2地址https://github.com/alibaba/fastjson2/releases
fastjson已经开源2.0版本。在 2.0 版本中,为了兼容性不再提供白名单,从而提高了安全性。fastjson v2 代码已经改写,性能有了很大提升。它与 1.x 不完全兼容。升级需要严格的兼容性测试。升级有问题,可以参考https://github.com/alibaba/fastjson2/issues
参考来源>>https://hackertop.com/thread-2.html
原创文章,作者:首席安全官,如若转载,请注明出处:https://cncso.com/fastjson-deserialization-rce-vulnerability.html