最近の脆弱性 › CVE-2012-1823
PHP PHP の脆弱性(CVE-2012-1823)
この解説はAIを使用して作成しています。誤りを含む可能性があり、内容は保証できません。必ず公式情報をご確認ください。
基本情報(データから表示)
| CVE番号 | CVE-2012-1823 |
|---|---|
| 製品 | PHP PHP |
| 深刻度(CVSS) | 9.8 緊急CVSS v3.1 NVD に登録された、他の機関(開発元など)による評価 詳細(ベクター)CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| KEVへの追加日 | 2022-03-25 |
| 米国政府機関の対応期限 | 2022-04-15 |
| ランサムウェアでの悪用 | 不明(確認されていない) |
| 弱点の種類(CWE) | CWE-20 |
何が起きた
PHP を CGI(Web サーバーから別のプログラムとして呼び出す方式)で動かしている場合に、URL の後ろに付ける問い合わせの文字列(クエリ文字列)の扱いを誤る弱点が見つかりました。= を含まないクエリ文字列にコマンドラインのオプションを入れると、任意のコード(攻撃者が好きに選べる命令)を実行される可能性があります。NVD の評価では、離れた場所からログインなしで、利用者の操作もなしに攻撃できます。実際の攻撃での悪用も確認されています。
攻撃の流れ
データをもとに、AIを使用して作成した図です。実際の攻撃は、これと異なる場合があります。
誰が影響を受ける
PHP を CGI(php-cgi)として動かしている Web サーバーの管理者が対象です。NVD の説明では、5.3.12 より前、5.4.x のうち 5.4.2 より前のバージョンが影響を受けます。PHP の公式の告知では、Apache の mod_php や php-fpm で動かしている場合は影響を受けないとしています。
何をすればいい
PHP の公式の告知では、PHP 5.3.12 と 5.4.2 で修正したものの、すべての変種は直っていなかったと説明しており、その後に公開した 5.3.13 と 5.4.3 への更新を勧めています。ただし PHP の公式サイトでは、5.3 系は 2014年8月14日、5.4 系は 2015年9月3日 にサポートが終わっているため、サポート中の PHP に移ってください。すぐに更新できない場合の回避策として、Apache の mod_rewrite で、= を含まず - を含むクエリ文字列の依頼を拒否する方法が案内されています。あわせてメーカーの公式の案内を確認してください。
やることチェックリスト
- PHP をサポート中の版に移行する
- PHP を CGI で動かしているか確認する
- mod_rewrite で - を含む不審な依頼を拒否する
用語メモ
- CGI
- Web サーバーが、依頼を受けるたびに別のプログラムを呼び出して結果を返す仕組みです。
- クエリ文字列
- URL の ? の後ろに付けて、ページに情報を渡すための文字列です。
- mod_rewrite
- Apache の機能で、届いた依頼の URL を条件に応じて書き換えたり拒否したりできます。
元データ(英語・CISA KEV より)
PHP-CGI Query String Parameter Vulnerability
概要
sapi/cgi/cgi_main.c in PHP, when configured as a CGI script, does not properly handle query strings, which allows remote attackers to execute arbitrary code.
推奨対応
Apply updates per vendor instructions.