谷歌修复代码测试工具Bazel 中的严重供应链漏洞

admin 2024年2月4日21:46:22评论18 views字数 1088阅读3分37秒阅读模式

谷歌修复代码测试工具Bazel 中的严重供应链漏洞聚焦源代码安全,网罗国内外最新资讯!

编译:代码卫士

谷歌开源的软件开发工具 Bazel 中存在一个严重的供应链漏洞,可导致攻击者插入恶意代码。研究人员指出,该命令注入漏洞影响数百万个依赖于 Bazel 的项目,包括 Kubernetes、Angular、优步、LinkedIn、Dababricks、Dropbox、英伟达和谷歌等。

该漏洞最初由 Cycode 研究团队在去年11月份发现,谷歌在七天内修复。Cycode 研究团队在2月2日披露了漏洞详情。研究员 Elad Pticha 提到,“我们发现,GitHub Actions 工作流中本可被插入恶意代码,原因是 Bazel 的依赖 Actions 中存在一个命令注入漏洞。该漏洞直接影响软件供应链,可导致恶意人员将有害代码插入 Bazel 代码库、创建后门并影响Bazel 用户的生产环境。”

2023年11月1日,研究人员将该漏洞提交给谷歌;11月7日,谷歌审计了该报告并在第二天推出“新提交”更新修复了该漏洞;12月5日,“pull 请求”完全修复了该漏洞;一周后,研究员获得13337美元的漏洞奖励。

漏洞概述

Pticha 写道,谷歌证实了“该漏洞的重要性”。该漏洞的核心与使用GitHub Custom Actions(被称为“一种多功能的”软件开发工作流简化方法)和使用被称为“樱桃采摘”的工作流有关。

根据Atlassian公司的描述,“樱桃采摘”工作流指的是在开发环境中可被引用挑选的任意 Git 提交并附加到当前运行的 HEAD 或代码分支的命令类型。Pticha 写道,“自定义操作可看做代码中被引用的函数,我们使用自己的函数并导入第三方函数。”操作包括 Docker、JavaScript 和 Composite。他写道,“自定义操作位组织机构的软件供应链带来沉重负担。顶层工作流中的数行代码就可被翻译成数千行甚至数百万行代码,其中很多甚至是我们并非发现的。”

研究人员使用 GitHub Actions,设法了解到如何发现命令注入漏洞可针对“摘樱桃”工作流。这些操作使用通过“如 JavaScript 和 Python,并使用多个包管理器如 NPM 或 PyPI 等库,组成庞大的依赖链条。”研究人员设法通过在系统日志中插入恶意 payload的方法获得 Bazel 和 GitHub 的令牌。间接依赖中的漏洞,如自定义操作“难以被发现,因为它们可能位于不同的仓库中、不同的生态系统并由其他维护人员维护。” Pticha 提到,在公开仓库中的340万个工作流中,几乎所有的工作流(约98.75%)都集成了一个或多个操作。

原文始发于微信公众号(代码卫士):谷歌修复代码测试工具Bazel 中的严重供应链漏洞

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年2月4日21:46:22
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   谷歌修复代码测试工具Bazel 中的严重供应链漏洞http://cn-sec.com/archives/2468966.html

发表评论

匿名网友 填写信息