PHP-CGI のOSコマンドインジェクション(CVE-2024-4577)― 2012年に塞いだはずの経路が、別の入り口から通じていた
Windows上でCGIモードで動作するPHPに、OSコマンドインジェクションの脆弱性。カタログはこれを2012年の脆弱性に対するパッチの迂回であると説明している。広く使われる部品が対象で、影響範囲の把握が難しい類型にあたる。
脆弱性の基本情報
- CVE番号CVE-2024-4577
- 対象(ベンダー/製品)PHP Group PHP
- CWECWE-78
- 悪用状況CISA KEV 掲載(実際の悪用を確認)/ランサムウェアでの悪用も確認
- 是正期限2024-07-03(米連邦民生機関・BOD 22-01)
要点
1OSコマンドインジェクションという型
プログラムが、外部から受け取った文字列を組み込んでオペレーティングシステムに命令を渡すことがあります。このとき、文字列に含まれる特殊な記号が命令の区切りとして解釈されると、本来意図しない命令が続けて実行されうる状態になります。これがOSコマンドインジェクションと呼ばれる欠陥の型です。
区分名にある「無害化」は、命令として解釈されうる記号を、単なる文字として扱われるように処理することを指します。この処理が不十分な場所が残っていると、欠陥になります。
2パッチの迂回という記述
- 12012年同種の脆弱性が報告され、修正が行われる
- 2以後その修正によって塞がれたものとして扱われる
- 32024年(本件)別の入り口から同じ場所に到達しうることが判明する
- 4カタログの記述本件は2012年の脆弱性に対するパッチの迂回であると明記される
注目したいのは、これが新しく作り込まれた欠陥ではなく、12年前に塞いだはずの経路が別の入り口から通じていたという点です。修正は特定の経路を塞ぐ形で行われることが多く、同じ場所に別の経路があれば残ります。当サイトでは、後から出た更新のほうが堅牢な保護を含むとされた例も別に扱っており、修正の完全性が繰り返し問題になっていることが分かります。
3広く使われる部品であること
カタログは、本件が広く使われる部品に影響するため、修正の状況は個別のベンダーに確認するよう求めています。自分で導入した覚えがなくても、製品の一部として含まれていることがあります。何が影響を受けるかを自組織だけで判断できないという点が、この類型の難しさです。
4条件が限定されていること
説明では、とりわけCGIモードで用いられるWindows版が挙げられています。同じ製品でも、動かし方や環境によって影響の有無が変わります。適用可否の判断には、版だけでなく構成の確認が必要になります。
なぜ重要か
広く使われる部品の脆弱性は、自組織が直接導入していなくても製品に組み込まれている場合があり、影響範囲を自力で判断しにくい。ベンダーごとの修正状況の確認が前提になる。
よくある質問(FAQ)
OSコマンドインジェクションとは何ですか?
パッチの迂回とはどういう意味ですか?
出典(一次情報)
本記事は下記の米国公式データに基づく独自整理です。正確・最新の内容、適用可否は必ず公式・ベンダーでご確認ください。
- CISA KEV Catalog(悪用確認済み一覧)
- NVD(CVE詳細・CVSS)
- This product uses data from the NVD API but is not endorsed or certified by the NVD. KEV データは CC0(パブリックドメイン)です。