一个新的PHP Composer漏洞可能导致广泛的供应链攻击

PHP软件包管理器Composer的维护人员已经发布了一个更新,以解决一个关键漏洞,该漏洞可能允许攻击者执行任意命令并“借壳每个PHP软件包”,从而导致供应链攻击。
SonarSource的研究人员于4月22日发现并报告了该安全问题,并在不到12小时后部署了修补程序。
“修复了HgDriver/HgDownloader中的命令注入漏洞,并加固了其他VCS驱动程序和下载程序,”Composer周三发布了版本2.0.13和1.10.22的发行说明。“据我们所知,该漏洞尚未被利用。”
Composer被称为PHP中的依赖关系管理工具,可以轻松安装与项目相关的软件包。它还允许用户安装Packagist上提供的PHP应用程序,Packagist是一个存储库,汇集了所有可通过Composer安装的公共PHP软件包。
SonarSource称,该漏洞源于处理包源下载URL的方式,可能导致对手触发远程命令注入的情况。作为这种行为的证据,研究人员利用参数注入漏洞精心设计了一个恶意Mercurial存储库URL,利用其“别名”选项执行攻击者选择的shell命令。
SonarSource说:“这样一个核心组件中存在一个漏洞,每月服务超过1亿个包元数据请求,该漏洞具有巨大的影响,因为这种访问可能被用来窃取维护者的凭据,或将包下载重定向到提供后门依赖关系的第三方服务器。”。
这家总部位于日内瓦的代码安全公司表示,其中一个漏洞是2011年11月引入的,这表明从10年前Composer的开发开始,就潜伏着易受攻击的代码。2013年7月3日,作曲家的首个“阿尔法”版本发布。
“对Composer用户的直接影响有限,因为Composer.json文件通常由他们自己控制,源代码下载URL只能由他们明确信任的第三方Composer存储库提供,以从Composer插件下载和执行源代码,”Composer的主要开发人员之一Jordi Boggiano说,说。