尊敬的腾讯云用户,您好!
腾讯云安全中心监测到,Fastjson 被披露其存在远程代码执行漏洞,暂无漏洞编号。可导致远程攻击者通过向使用 Fastjson 1.2.68 至 1.2.83 版本的应用发送特制的恶意 JSON 数据,无需依赖任何第三方类库,即可在目标服务器上执行任意代码等危害。
为避免您的业务受影响,腾讯云安全建议您及时开展安全自查,如在受影响范围,请您及时进行更新修复,避免被外部攻击者入侵。
漏洞详情
Fastjson 是阿里巴巴开源的高性能 Java JSON 处理库。它支持 Java 对象与 JSON 字符串之间的相互转换,凭借极致的解析性能、丰富的功能以及简单易用的 API,被广泛应用于各类 Web 和移动应用中。
在 Fastjson 1.2.68 至 1.2.83 版本中,由于 Fastjson 在反序列化过程中存在一个不依赖任何特定类库(gadget-free)的安全缺陷,攻击者可构造特制的 JSON 负载,利用 Fastjson 自身内部的反序列化逻辑触发任意代码执行。该漏洞不依赖于目标应用 classpath 中是否存在特定的第三方类,因此传统的“移除危险类”缓解措施对此漏洞无效。
注:该漏洞只影响未启用安全模式 (SafeMode) 的 1.x (1.2.68 至 1.2.83) 的 Fastjson 实例。
风险等级
高风险
漏洞风险
远程攻击者利用该漏洞可在目标服务器上执行任意代码,导致服务器被完全控制等危害。
影响版本
1.2.68 <= Fastjson 1.x <= 1.2.83
安全版本
Fastjson 2.x
修复建议
1. 官方暂未发布漏洞补丁及修复版本,请评估业务是否受影响后,建议迁移至 Fastjson 2.x 版本(该版本不受此漏洞影响)
https://github.com/alibaba/fastjson2
2. 缓解措施:
(1) 通过以下任意一种方式启用 Fastjson 的“安全模式(SafeMode)”:
<1> 通过代码启用:
ParserConfig.getGlobalInstance().setSafeMode(true);
<2> 通过 JVM 启动参数启用:
-Dfastjson.parser.safeMode=true
<3> 通过 Fastjson 配置文件启用:
fastjson.parser.safeMode=true
(2) 如业务允许,在反序列化前对 JSON 输入进行严格的模式校验或白名单过滤;
(3) 使用其他 JSON 解析库替代 Fastjson。
【备注】:建议您在升级前做好数据备份工作,避免出现意外
漏洞参考
- 腾讯T-Sec 云防火墙已支持防护
- 腾讯T-Sec 主机安全已支持该漏洞检测 (基于版本)
- 腾讯T-Sec 主机安全RASP已支持该漏洞防护