ca88登陆平台

又一”核弹级”缝隙??? ???fastjson缝隙影响深度丈量

功夫:2022-05-25 作者:ca88登陆平台技术钻研院

分享到:

    2022年5月23日,,,,,,,fastjson官方颁布安全传递,,,,,,,1.2.80及以下版本存在反序列化肆意代码执行缝隙,,,,,,,在特定前提下可绕过默认autoType关关限度,,,,,,,可能会导致远程服务器被攻击,,,,,,,缝隙等级为高危,,,,,,,风险影响较大[1]。。。。。。

    fastjson是Java、Android等平台宽泛使用的JSON解析库,,,,,,,大量项目将其作为依赖,,,,,,,可谓Java生态最为常用的基础库之一。。。。。。此缝隙到底造成多大的影响??? ???ca88登陆平台技术钻研院星图尝试室利用自研的“天问”软件供给链平台对其进行了深度挖掘分析。。。。。。

    1?

    fastjson缝隙影响有多宽泛??? ???

    在MavenCentral这一Java最沉要的仓库中,,,,,,,共有近万个Java包受到fastjson缝隙影响,,,,,,,占包总量的2.13%。。。。。。

    截至2022年5月24日,,,,,,,我们发现MavenCentral中的9,902个Java包依赖于蕴含缝隙的fastjson版本,,,,,,,这意味着MavenCentral上约2.13%的软件包至少有一个版本受到此缝隙威胁。。。。。。若是说去年底爆出log4j远程代码执行缝隙是一颗大型核弹的话(影响了约17,000个Java包,,,,,,,占比约4%),,,,,,,fastjson的缝隙影响不亚于一颗中型核弹了。。。。。。

    在MavenCentral上,,,,,,,直接依赖了fastjson缝隙版本的Java软件包数量达到了3,845个,,,,,,,占到所有受影响Java包的38.8%,,,,,,,也就是说,,,,,,,有高达61.2%的Java包间接依赖了fastjson(即自身依赖的一个软件包依赖了fastjson)。。。。。。

又一”核弹级”缝隙??????fastjson缝隙影响深度丈量

    图1直接依赖缝隙软件包(左)和间接依赖缝隙软件包(右)起源:GoogleSecurityBlog

    2?

    有哪些沉要项目受影响??? ???

    分析发现ApacheDubbo、RocketMQ、Beam,,,,,,,阿里巴巴Nacos、Sentinel、京东云JavaSDK等沉要项目依赖了含缝隙的fastjson版本,,,,,,,使用这些项主张开发者必要亲昵关注缝隙建复进展,,,,,,,实时更新到补丁版本。。。。。。

又一”核弹级”缝隙??????fastjson缝隙影响深度丈量

    3?

    此缝隙建复难题吗??? ???

    直接使用了fastjson的项目建复不难。。。。。。

    间接依赖了fastjson的项目,,,,,,,依赖层级越深,,,,,,,建复所需步骤就越多、难度越大。。。。。。

    图2显示了受影响的Java软件包依赖于fastjson的层级,,,,,,,层级为1代表直接依赖。。。。。。?? ??D芄豢吹剑,,,,,,高达61.2%的Java包依赖层级超过1级,,,,,,,有超过500个Java包的依赖层级超过了5级,,,,,,,层级最深的软件包(如图3所示)的依赖深度甚至高达10级。。。。。。对这些包的建复,,,,,,,必要将依赖链条中的所有层级逐一进行建复,,,,,,,因而难度较大。。。。。。

    参考log4j缝隙的建复功夫,,,,,,,在缝隙披露的一周功夫内,,,,,,,仅有约莫13%受到影响的软件包得到了建复[2],,,,,,,这也为软件开发者、安全从业者敲响了警钟,,,,,,,可能将来一段功夫内,,,,,,,针对fastjson缝隙的攻击将时有产生。。。。。。

又一”核弹级”缝隙??????fastjson缝隙影响深度丈量

    图2受影响的Java软件包的依赖层级及对应数量

又一”核弹级”缝隙??????fastjson缝隙影响深度丈量

    图3top.wboost:webmvc-spring-boot-starter软件包对fastjson的依赖深度达到10级

    4?

    建复建议

    1.更新到1.2.83及以上版本

    可通过Maven包治理工具更新、手动更新至安全建复版本两种方式实现更新,,,,,,,GitHub开源项目最新的安全建复版本下载地址:

    https://github.com/alibaba/fastjson/releases/tag/1.2.83

    2.开启safeMode职能

    fastjson在1.2.68及之后的版本中引入了safeMode,,,,,,,配置safeMode后,,,,,,,无论白名单和黑名单,,,,,,,都不支持autoType,,,,,,,可杜绝反序列化Gadgets类变种攻击(关关autoType把稳评估对业务的影响),有三种方式配置SafeMode[3]:

    (1)在代码中配置

    ParserConfig.getGlobalInstance().setSafeMode(true);

    (2)加上JVM启动参数

    -Dfastjson.parser.safeMode=true

    (3)通过fastjson.properties文件配置

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

    fastjson.parser.safeMode=true

    3.升级到fastjsonv2

    fastjson已经开源2.0版本,,,,,,,在2.0版本中,,,,,,,不再为了兼容提供白名单,,,,,,,提升了安全性。。。。。。fastjsonv2代码已经沉写,,,,,,,机能有了很大提升,,,,,,,不齐全兼容1.x,,,,,,,升级必要做当真的兼容测试。。。。。。


    参考链接

    [1]fastjsonsecurityupdate(2020-05-23),https://github.com/alibaba/fastjson/wiki/security_update_20220523.

    [2]UnderstandingtheImpactofApacheLog4jVulnerability,https://security.googleblog.com/2021/12/understanding-impact-of-apache-log4j.html.

    [3]Enablefastjsonsafemode,https://github.com/alibaba/fastjson/wiki/fastjson_safemode.

    “天问”是由ca88登陆平台技术钻研院星图尝试室开发的软件供给链安全分析平台,,,,,,,专一于软件供给链生态的安全风险鉴别与检测。。。。。。

    我们目前在招聘,,,,,,,工作地址覆盖北京、上海、漯河、成都等城市,,,,,,,详情请拜见:

    https://research.qianxin.com/recruitment/

ca88登陆平台 95015网络安全服务热线

95015网络安全服务热线

扫一扫关注

ca88登陆平台 在线客服 ca88登陆平台 95015

您对ca88登陆平台的任何疑难可用以下方式通知我们

将您对ca88登陆平台的任何疑难

用以下方式通知我们

【网站地图】【sitemap】