官方Homebrew Cask存储库中发现了严重的安全漏洞,攻击者可能已经利用了该漏洞在安装Homebrew的失陷主机上执行任意代码。
该安全漏洞由一名日本安全研究人员RyotaK于4月18日报告给官方,该问题源于其GitHub存储库中代码变更的处理方式,从而导致了可能出现恶意代码会被自动审查和合并的情况,该漏洞已于4月19日修复。
Homebrew是一个免费的开源软件包管理器解决方案,支持在Apple的macOS操作系统与Linux操作系统上安装软件。Homebrew Cask对功能进行了扩展,使其支持可视化的MacOS应用程序、字体、插件和其他非开源软件的命令行工作流。
Homebrew的Markus Reiter表示:“本次发现的漏洞使攻击者能够将任意代码注入进代码库并自动合并”,“由于GitHub的review-cask-pr动作中的git_diff依赖项存在缺陷,该动作用于解析提交PR的diff检查。受缺陷影响,解析器可能会完全忽略某些代码,从而导致恶意PR会被成功合并”。
直白点说,该缺陷意味着攻击者可以将恶意代码注入到Homebrew Cask存储库中,且不经过任何审核就能完成分支合并。
研究人员提交了相应的 POC 来进行漏洞证明。根据调查结果,Homebrew还删除了名为“automerge”的自动合并GitHub Action动作,并从所有易受攻击的存储库中删除了“review-cask-pr”的GitHub Action动作。
Bot提交到homebrew/cask存储库的功能也已被删除,所有PR都需要维护人员进行手动审查和批准。
“如果漏洞被恶意利用,会造成极其大的影响”,研究人员表示:“我们强烈感受到需要对集中式的生态系统进行安全审核”。