justauth / JustAuth

🏆Gitee 最有价值开源项目 🚀:100: 小而全而美的第三方登录开源组件。目前已支持Github、Gitee、微博、钉钉、百度、Coding、腾讯云开发者平台、OSChina、支付宝、QQ、微信、淘宝、Google、Facebook、抖音、领英、小米、微软、今日头条、Teambition、StackOverflow、Pinterest、人人、华为、企业微信、酷家乐、Gitlab、美团、饿了么、推特、飞书、京东、阿里云、喜马拉雅、Amazon、Slack和 Line 等第三方平台的授权登录。 Login, so easy!
https://www.justauth.cn
MIT License
16.57k stars 2.78k forks source link

bug: Fastjson1.2.80及之前版本中存在反序列化漏洞,是否可以考虑去掉fastjson依赖? #148

Open wu9007 opened 2 years ago

wu9007 commented 2 years ago

漏洞描述

近日,Fastjson Develop Team发布安全公告,修复了一个存在于Fastjson1.2.80及之前版本中的反序列化漏洞。

Fastjson已使用黑白名单用于防御反序列化漏洞,该利用在特定条件下可绕过默认autoType关闭限制,攻击远程服务器,风险影响较大。在默认配置下,当应用或系统使用Fastjson对由用户可控的JSON字符串进行解析时,将可能导致远程代码执行的危害 。建议Fastjson用户尽快采取安全措施保障系统安全。

Fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。

受影响的版本

特定依赖存在下影响 ≤1.2.80

修复建议

※ 升级到最新版本1.2.83

下载地址:https://github.com/alibaba/fastjson/releases/tag/1.2.83

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

※ safeMode加固

Fastjson在1.2.68及之后的版本中引入了safeMode,配置safeMode后,无论白名单和黑名单,都不支持autoType,可杜绝反序列化Gadgets类变种攻击(关闭autoType注意评估对业务的影响)

开启方法:参考 https://github.com/alibaba/fastjson/wiki/fastjson_safemode

使用1.2.83之后的版本是否需要使用safeMode:1.2.83修复了此次发现的漏洞,开启safeMode是完全关闭autoType功能,避免类似问题再次发生,这可能会有兼容问题,请充分评估对业务影响后开启。

※ 升级到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 寻求帮助。

排查建议

Maven:排查pom.xml,通过搜索Fastjson确定版本号

其他项目通过搜索jar文件确定Fastjson版本号

zhanghognlei commented 2 years ago

顶顶顶顶

zhangyd-c commented 2 years ago

同这个,https://github.com/justauth/JustAuth/issues/151 请关注