写点什么

关于 fastjson 出现反序列化远程代码执行漏洞的通知

  • 2022 年 6 月 02 日
  • 本文字数:1025 字

    阅读完需:约 3 分钟

近日 fastjson 出现反序列化远程代码执行漏洞。天翼云提醒用户:请尽快采取措施进行排查与防护。

 

漏洞描述

5 月 23 日,fastjson 官方发布公告称在 1.2.80 及以下版本中存在新的反序列化风险,在特定条件下可绕过默认 autoType 关闭限制,从而反序列化有安全风险的类,攻击者利用该漏洞可实现在目标机器上的远程代码执行。

 

fastjson 是开源 JSON 解析库,它可以解析 JSON 格式的字符串,支持将 Java Bean 序列化为 JSON 字符串,也可以从 JSON 字符串反序列化到 Java Bean。由于具有执行效率高的特点,应用范围广泛。

 

漏洞详情

漏洞名称: fastjson 反序列化远程代码执行漏洞

漏洞编号: 暂无

漏洞类型: 远程任意代码执行

组件名称: fastjson

影响版本: fastjson ≤ 1.2.80

漏洞等级: 严重

 

漏洞修复或缓解建议

人工检测:

相关用户可使用以下命令检测当前使用的 fastjson 版本:

lsof | grep fastjson

注:在 fastjson 1.2.68 及之后的版本中,官方添加了 SafeMode 功能,可完全禁用 autoType。

 

官方升级:

目前官方已在最新版本 1.2.83 中修复了该漏洞,请受影响的用户尽快升级版本进行防护,官方下载链接:https://github.com/alibaba/fastjson/releases

 

升级步骤如下:

1. 备份原 fastjson 依赖库,避免升级失败的情况发生。

2. 将低版本的 fastjson 库替换为 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. 通过 properties 文件配置:

通过类路径的 fastjson.properties 文件来配置,配置方式如下:

fastjson.parser.safeMode=true

 

参考官方文档:

https://github.com/alibaba/fastjson/wiki/fastjson_safemode

 

4. 另可通过将有风险的类添加至黑名单进行防护:

ParserConfig.getGlobalInstance().addDeny("类名");

 

发布于: 刚刚阅读数: 3
用户头像

还未添加个人签名 2022.02.22 加入

天翼云是中国电信倾力打造的云服务品牌,致力于成为领先的云计算服务提供商。提供云主机、CDN、云电脑、大数据及AI等全线产品和场景化解决方案。

评论

发布
暂无评论
关于fastjson出现反序列化远程代码执行漏洞的通知_天翼云开发者社区_InfoQ写作社区