Trusted Design

CVE-2012-1823 の詳細

CVEの情報

説明:
sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not properly handle query strings that lack an = (equals sign) character, which allows remote attackers to execute arbitrary code by placing command-line options in the query string, related to lack of skipping a certain php_getopt for the 'd' case.

CVE更新日: 2012-05-11 10:15:48.043000

CVSSバージョン: 3.1

CVSSスコア: 9.8

KEVの情報

KEV更新日: 2022-03-25

EPSSの情報

EPSSは脆弱性が今後30日以内に悪用される確率を予測するスコアリングシステムで、FIRST(Forum of Incident Response and Security Teams)が提供しています。
EPSSのスコアが高いということは、攻撃されるリスクが高いことを意味するので、早めの対策が必要です。

EPSSスコア: 0.999980000

EPSS更新日: 2026-07-19 00:00:00

SSVCの情報

SSVCはカーネギーメロン大学ソフトウェア工学研究所が提案する脆弱性の評価手法です。ステークホルダーごとに脆弱性対応の優先度を決定することを支援します。
本サイトでは、CVE、KEV、EPSSの内容からExploitation(悪用状況)、Technical Impact(技術的影響)、Automatable(自動攻撃の可否)を判定します。

Exploitation: active

Technical Impact: high

Automatable: True

AIを使った解説

解説:

CVE-2012-1823に関する調査結果を以下に解説します。

1. 脆弱性の概要

CVE-2012-1823は、PHPがCGIスクリプト(php-cgi)として設定されている場合に、HTTPリクエストのクエリ文字列の処理方法に存在する脆弱性です。特に、イコール記号(=)を含まないクエリ文字列を適切に処理しないことが原因で発生します。これにより、リモートの攻撃者がクエリ文字列内にコマンドラインオプションを挿入し、任意のコードを実行できる可能性があります。

1.1 影響

この脆弱性が悪用されると、攻撃者はWebサーバー上で任意のコードを実行できるようになり、システムを完全に制御する可能性があります。結果として、不正アクセス、機密データの窃取、データの改ざん、またはサーバーのさらなる侵害に繋がる可能性があります。

1.2 深刻度

この脆弱性の深刻度は、CVSS v2では7.5(高)、CVSS v3では9.8(緊急)と評価されています。 また、CISA(サイバーセキュリティ・インフラセキュリティ庁)のKnown Exploited Vulnerabilities Catalogにも追加されており、活発な悪用が確認されています。

2. 対象となる環境

2.1 影響を受けるOSバージョン

この脆弱性は、以下のPHPバージョンに影響します。 * PHP 5.3.12より前のバージョン * PHP 5.4.xシリーズの5.4.2より前のバージョン

特定のOSディストリビューションにおける影響と対応状況は以下の通りです。 * Red Hat Enterprise Linux 5および6: 更新がリリースされています。Red Hat Enterprise Linux 3または4のPHPバージョンは影響を受けません。 * Ubuntu: 12.04 LTS、11.10、11.04、10.04 LTS、8.04 LTSの各バージョンで修正がリリースされています。

2.2 影響を受ける設定

  • PHPがCGIスクリプト(php-cgi)として動作するように設定されている環境が影響を受けます。
  • Apache HTTPDのmod_phpモジュールやFastCGIを使用するデフォルト設定は、この脆弱性の影響を受けません。

3. 影響を受けた時の兆候

  • 脆弱なWebサーバーにhttp://your-ip:8080/index.php?-sのようなリクエストを送ることで、PHPスクリプトのソースコードが構文ハイライト表示されてしまうことがあります。これは脆弱性が存在することの明確な兆候です。
  • その他、Webサーバー上の予期しないファイル、プロセスの実行、設定の変更、不正な通信などが確認された場合は、侵害の兆候である可能性があります。

4. 推奨対策

4.1 本対策

  • PHPのバージョンアップ:
    • PHP 5.3系を使用している場合は、5.3.12以降のバージョンにアップグレードしてください。
    • PHP 5.4系を使用している場合は、5.4.2以降のバージョンにアップグレードしてください。
  • PHPハンドラの変更:
    • CGIモードからPHP-FPMまたはmod_phpへの移行を検討してください。これらのハンドラは、この脆弱性の影響を受けません。

4.2 暫定回避策(緩和策)

  • Webサーバーの設定変更:
    • Apacheのmod_rewriteモジュールなどを使用して、ハイフン(-)で始まり、かつイコール記号(=)を含まないクエリ文字列を含むリクエストをブロックするようにWebサーバーを設定します。
  • 入力値検証の実装:
    • すべてのユーザー入力を検証し、サニタイズすることで、悪意のあるコード挿入を防ぎます。
  • WAF (Web Application Firewall) の導入:
    • 悪意のあるリクエスト(この脆弱性を悪用しようとする試みを含む)を検出し、ブロックできるWAFを展開することで、追加の保護層を提供します。
  • PHP-CGIスクリプトハンドラへのアクセス制限:
    • 信頼できるユーザーにのみPHP-CGIスクリプトハンドラへのアクセスを制限します。

関連情報

  • この脆弱性は一度の修正で完全に解決されたわけではなく、CVE-2012-2311、CVE-2012-2335、CVE-2012-2336といった関連するCVEが後に割り当てられました。
  • 最近では、このCVE-2012-1823の修正を回避する新たな脆弱性CVE-2024-4577(PHP CGI引数インジェクション脆弱性)がWindows上のPHPで発見されています。これは、Windowsの「Best-Fit」マッピング機能が悪用され、特定のユニコード文字(ソフトハイフン0xADなど)が標準ハイフン(0x2D)として解釈されることで、コマンドライン引数を注入できるようになるものです。特に中国語、日本語などの特定のロケール環境でPHPをCGIモードで使用している場合に影響を受けます。この新たな脆弱性により、CVE-2012-1823の修正が施されたPHPバージョンでも、Windows環境下の特定の条件下で、再びリモートコード実行が可能となる可能性があります。

参照したサイト

NVDサイト

NVDでCVEの詳細を見る

戻る