网络安全 频道

报告:86%的代码库包含存在漏洞的开源组件

  根据Black Duck的一份报告,高风险和已过时的开源软件(OSS)组件的使用是一个普遍存在的问题。该报告显示,在分析的代码库中,有86%包含存在漏洞的开源组件。

  周二发布的《2025年开源安全与风险分析报告》(OSSRA)基于Black Duck Audit对16个行业965个商业代码库的分析,其中901个代码库接受了漏洞和运营风险的分析。

  开源软件无处不在,97%的代码库包含开源组件。此外,自2020年以来,应用程序中开源文件的平均数量已增至三倍,从5386个跃升至16082个。

  在Black Duck于2024年分析的代码库中,有81%(即大多数)存在高严重性或严重漏洞,其中最常见的10个高风险漏洞中有8个存在于jQuery JavaScript库中。这一比例较去年的报告有所上升,去年的报告显示74%的代码库存在高风险或严重漏洞。

  Black Duck的高级经理兼OSSRA数据顾问Mike McGuire向SC Media表示:“这可能表明开发组织无法跟踪他们正在使用的大量依赖项,也无法优先修复漏洞。”

  “对于消费者而言,这意味着他们需要认真对待从供应商那里获取软件物料清单(SBOM)以及某种形式的漏洞披露(如VEX文件所提供的信息)的要求。”

  深层依赖增加OSS的安全和法律风险

  当一个软件组件依赖于另一个依赖于另一个组件(以此类推)的传递依赖关系时,会给组织识别潜在的开源风险带来挑战。

  Black Duck发现,商业代码库中的64%开源组件是传递依赖项,且近一半发现的高风险和严重漏洞都源自传递依赖项。

  这些多层次的依赖项也带来了法律风险,代码库中近30%的许可冲突来自传递依赖项。总体而言,56%的代码库存在可能引发法律问题的许可冲突,并可能导致产品上市延迟。

  McGuire表示:“从我个人角度来看,最重要的收获是,在开源依赖项管理方面普遍存在盲点。我们长期以来一直强调消除盲点的重要性,而随着更多行业和消费者要求完整的供应链可见性,这一点变得尤为重要。”

  为了全面了解软件组件之间的关系(包括深层传递依赖项)并生成全面的SBOM,需要使用软件成分分析(SCA)等自动化方法。

  顶 级OSS漏洞:jQuery、XSS和DoS

  Black Duck在分析漏洞时发现,三分之一的代码库容易受到jQuery CVE-2020-11023漏洞的攻击,这是一个中等严重程度的漏洞,由于在生成网页时未正确中和输入,可能导致跨站脚本攻击(XSS)(CWE-79)。

  此漏洞影响从1.0.3版本到3.5.0版本之前的所有jQuery版本,并于2025年1月23日被美国网络安全和基础设施安全局(CISA)添加到已知被利用漏洞(KEV)目录中。

  CVE-2020-11023的补丁于2020年4月发布,而jQuery的最新版本3.7.1于2023年8月发布,这显示了商业代码库中过时开源软件组件的普遍性及其带来的风险。

  另一个类似的jQuery XSS漏洞CVE-2020-11022也影响了三分之一的代码库,而不当输入验证(CWE-20)、CWE-79和网页中脚本相关HTML标签的不当中和(CWE-80)等可能导致XSS的弱点极为常见,分别影响了71%、56%和44%的代码库。

  可能导致拒绝服务(DoS)的弱点排在第二位,其中不受控制的资源消耗(CWE-400)影响了70%的商业代码库,无限制或节流资源分配(CWE-770)影响了48%,正则表达式复杂度低效(CWE-1333)影响了36%。

  这些漏洞中的许多是由于使用了过时或不再维护的OSS组件所致:90%的代码库使用了四年多未更新的开源组件,91%使用了过去两年内未见新开发的组件,90%使用的OSS组件落后最新版本超过10个版本。

  虽然将所有软件组件保持100%最新可能不切实际,但Black Duck建议组织通过关注项目网站和存储库,以及利用包管理器、自动化监控工具和版本跟踪工具,来保持对高风险漏洞(如具有关键CVSS评分或被添加到KEV目录中的漏洞)的了解。

0
相关文章