PHP Composer号令注入缝隙(CVE-2021-29472)
颁布功夫 2021-04-300x00 缝隙概述
CVE ID | CVE-2021-29472 | 时 间 | 2021-04-30 |
类 型 | 号令注入 | 等 级 | 高危 |
远程利用 | 是 | 影响领域 | Composer < 1.10.22 || >=2.0,<2.0.13 |
PoC/EXP | 未公开 | 在野利用 | 否 |
0x01 缝隙详情

2021年04月27日,PHP Composer软件包颁布了Composer 1.10.22和2.0.13版本,建复了PHP Composer中的一个号令注入缝隙(CVE-2021-29472),该缝隙的CVSSv3根基得分为8.8,攻击者能够通过利用此缝隙执行肆意号令并在开发环境中创建后门,以进行供给链攻击。
缝隙细节
Composer是PHP的一个依赖治理器工具,它使用在线服务Packagist来确定软件包下载的正确供给链。据估计,Packagist基础设施每月约莫为14亿个下载要求提供服务。
由于Root composer.json文件中的Mercurial库的URL和包源下载的URL没有被正确算帐,这将导致攻击者注入的参数被诠释为Composer执行的系统号令的选项。若是系统中装置了hg/Mercurial,则恶意造作的URL值将导致代码在HgDriver中被执行。
但由于composer.json文件通常在用户自己的节造之下,因而对Composer用户的直接影响是有限的。而源下载URL只能由用户明确信赖的第三方Composer仓库提供,以下载和执行源代码,例如Composer插件。
该缝隙重要影响是将用户输入传递给Composer的服务,蕴含Packagist.org和Private Packagist,并导致远程代码执行。
在收到缝隙汇报后的12幼时内,Packagist.org和Private Packagist已经建复了该缝隙,并且通过日志审查,暂未发现该缝隙被利用。使用VcsRepository/VcsDriver或二次开发的利用可能受到此缝隙的影响,应立即升级其composer依赖关系。
0x02 措置建议
目前此缝隙已经建复,建议升级到Composer 1.10.22或2.0.13。
下载链接:
https://getcomposer.org/
0x03 参考链接
https://blog.sonarsource.com/php-supply-chain-attack-on-composer
https://blog.packagist.com/composer-command-injection-vulnerability/
https://github.com/composer/composer/security/advisories/GHSA-h5h8-pc6h-jvvx
https://securityaffairs.co/wordpress/117366/security/php-composer-flaw.html?
0x04 功夫线
2021-04-27 缝隙公开
2021-04-30 VSRC颁布安全公告
0x05 附录
CVSS评分尺度官网:http://www.first.org/cvss/



京公网安备11010802024551号