PHP Composer の脆弱性 CVE-2024-35241/35242 が FIX:直ちにアップデートを!

Critical Security Flaws Discovered in Popular PHP Package Manager

2024/06/11 SecurityOnline — 人気の PHP 対応マネージャである Composer が、先日にリリースしたセキュリティアップ・デートは、2つの重大な脆弱性 CVE-2024-35241/CVE-2024-35242 に対処するものだ。これらの脆弱性の悪用に成功した攻撃者は、影響を受けるシステム上で悪意のコードを実行する可能性を持つ。開発者に強く推奨されるのは、最新版 (PHP 7.2+では 2.7.7、PHP 5.3~7.1 では2.2.24) への迅速なアップデートである。


今回に修正された脆弱性 CVE-2024-35241/CVE-2024-35242 は、 いずれも悪意の git/hg ブランチ名によるコマンド・インジェクション攻撃に関するものだ。それらを悪用する攻撃者は、ソースから Composer パッケージをインストールした (git clone) システムや、特別に細工されたブランチ名を持つチェックアウトされた git/hg リポジトリ内で、Composer を実行しているシステムを制御する可能性を持つ。

CVE-2024-35241:Status/Reinstall/Remove コマンドの脆弱性

Martin Haunschmid により発見された、1つ目の脆弱性 CVE-2024-35241 は、Composer の status/reinstall/remove コマンドに影響するものだ。この脆弱性の悪用は、ソースからインストールされたパッケージのブランチ名に、悪意のコードを挿入することで達成される。Packagist.org のような一般的なリポジトリは、リモート・コード実行に対して脆弱ではないが、信頼できないソースからパッケージをインストールするユーザーは、危険にさらされる可能性がある。

CVE-2024-35242:Git/Hg リポジトリにおける複数のコマンド・インジェクション

Maciej Piechota (haqpl) により発見された、2つ目の脆弱性 CVE-2024-35242 は、 git/hg リポジトリ内で Composer を実行する際に、 カレントでチェックアウトされているバージョンを判別する機能に影響を及ぼす。特別に細工されたブランチ名は、コマンド・インジェクション攻撃を引き起こす可能性があるが、この欠陥はインストールされた依存関係により悪用されることはない。

脅威を軽減するために:ただちにアップデートを!

すでに Composer チームは、これらの脆弱性に対処し、セキュリティを強化するためのパッチをリリースしている。ユーザーに推奨されるのは、システムとデータを保護するために、Composer を可能な限り早急にアップデートすることだ。