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/