fastjson之CVE-2022-25845漏洞

fastjson之CVE-2022-25845漏洞

最近,在使用IDEA开发的时候遇到了一个关于fastjson库的警告——CVE-2022-25845。该漏洞目前在1.2.83版本后已经修复,因此使用该版本以上的依赖,IDEA是不会出现这个情况的。

漏洞复现参考:https://jfrog.com/blog/cve-2022-25845-analyzing-the-fastjson-auto-type-bypass-rce-vulnerability/

发现警告

在使用1.2.83版本的fastjson时,IDEA出现如下警告:

Vulnerable API usage 
CVE-2022-25845 9.8 Deserialization of Untrusted Data vulnerability with High severity found
CVE-2022-25845 9.8 Deserialization of Untrusted Data vulnerability with High severity found
Results powered by Checkmarx(c)

大意为:使用了易受攻击的API,CVE-2022-25845为漏洞版本号,该依赖这个警告信息是通过安全扫描工具如Checkmarx检测出来的。

原因

CVE-2022-25845是一个关于“不信任数据的反序列化”的漏洞,其CVSS(通用漏洞评分系统)评分高达9.8,属于非常严重的级别。这个漏洞的根本原因在于fastjson在处理JSON数据反序列化时的实现缺陷。
具体漏洞详情见参考文件,在文章开头。

解决

解决方法

  1. 升级fastjson库
    最直接的解决方法是升级到修复了该漏洞的fastjson版本(1.2.83以上),更新项目中的pom.xml文件。
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <!-- 替换为修复了CVE-2022-25845的版本号 -->
    <version>最新安全版本</version>
</dependency>
  1. 使用其他库
    如果项目允许,也可以考虑使用其他更安全的JSON处理库,如Jackson或Gson
  2. 安全配置
    如果无法立即升级,可以通过以下安全配置来减少风险:
  • 禁用autoType功能:通过设置ParserConfig.getGlobalInstance().setAutoTypeSupport(false);来禁用autoType。
  • 限制可以反序列化的类:通过配置白名单来限制可以反序列化的类。
  1. 输入验证
    对所有外部输入进行严格的验证,确保输入数据符合预期格式,并且不包含任何可能导致安全问题的内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值