PHP-CGI のクエリストリング処理における脆弱性を悪用するエクスプロイトコード(Scan Tech Report) | ScanNetSecurity
2024.04.27(土)

PHP-CGI のクエリストリング処理における脆弱性を悪用するエクスプロイトコード(Scan Tech Report)

PHP コードを CGI として実行するインタプリンタ「PHP-CGI」のクエリストリング処理には、任意の引数を指定して PHP-CGI を実行できてしまう脆弱性が存在しました。

脆弱性と脅威 エクスプロイト
1.概要
PHP コードを CGI として実行するインタプリンタ「PHP-CGI」のクエリストリング処理には、任意の引数を指定して PHP-CGI を実行できてしまう脆弱性が存在しました。リモートの第三者に悪用されると、任意の PHP コードのソースコードが漏えいしてしまう可能性、任意の PHP コードを実行される可能性がありました。
この脆弱性は 2012 年 5 月に修正されましたが、2013 年 10 月に、この脆弱性の悪用を容易にするエクスプロイトコードが公開されました。実際にこのエクスプロイトコードに基づく攻撃が確認されていることから、影響を受けるバージョンの PHP-CGI を導入している環境では、可能な限り以下に記載する対策を実施してください。


2.深刻度(CVSS)
7.5
http://nvd.nist.gov/cvss.cfm?name=&vector=(AV:N/AC:L/Au:N/C:P/I:P/A:P)&version=2
※この CVSS 値は、CVE-2012-1823 のものです。


3.影響を受けるソフトウェア ※
PHP 5.4.3 より前のバージョン 5.4 系の PHP
http://www.php.net/ChangeLog-5.php#5.4.3
PHP 5.3.13 より前のバージョン 5.3 系の PHP
http://www.php.net/ChangeLog-5.php#5.3.13


4.解説
PHP には、PHP コードを CGI として実行するインタプリンタ(言語処理系)「PHP-CGI」があります。2012 年 5 月、PHP-CGI において、任意に引数を指定して PHP-CGI を実行できてしまう脆弱性が公開されました(*1)。

この脆弱性を悪用すると、CGI として実行される PHP コードのクエリストリングに任意の PHP-CGI の引数を指定することで、それらの引数を指定してPHP-CGI を実行できてしまいました。このとき、PHP-CGI の引数に「-s」オプションを指定すると、PHP コードのソースコードが漏えいしてしまいます。
また、「-d allow_url_include=On」と「-d auto_prepend_file=php://input」を指定したうえで、POST メソッドで任意の PHP コードを送信すると、そのPHP コードを実行されてしまいます。この脆弱性は、公開されると数日で修正されました((*1)の [Disclosure timeline] によると、元々 CERT およびPHP 開発者と協調しながら脆弱性の修正を進めていたことが分かります)。

この脆弱性が公開された 2012 年 5 月頃のエクスプロイトコード(*2)、および確認された攻撃の痕跡(*3)によると、この脆弱性を悪用するためには「PHPコード(例:index.php)を指定する必要がある」と考えられていました。
しかし、2013 年 10 月に「PHP コードを指定せずに、『PHP-CGI』を直接指定して」この脆弱性を悪用するエクスプロイトコードが公開されました(*4)。

PHP 開発者は、URI で直接 PHP-CGI を指定しても、PHP-CGI が CGI として実行されないように、php.ini で cgi.force_redirect を有効にすることを推奨しています。この設定が有効になっていると、Web ブラウザなどで、PHP-CGI を直接実行させようとしても実行できません。しかし、このエクスプロイトコードでは、クエリストリングに「-d cgi.force_redirect=0」を含めることで、URI で直接 PHP-CGI を指定して、この脆弱性を悪用することを可能にしました。このエクスプロトコードによって、Web サイトで CGI として動作する PHP コード(例:index.php)が存在していなくても、PHP-CGI をインストールしているだけでも、この脆弱性を悪用されてしまうことが発覚しました。

このエクスプロトコードをもとにした攻撃が多数確認されているため(*5)、影響を受けるバージョンの PHP-CGI を導入している環境では、可能な限り以下に記載する対策を実施してください。

(*1): https://web.archive.org/web/20131101070143/http://eindbazen.net/2012/05/php-cgi-advisory-cve-2012-1823/
(*2): http://blog.tokumaru.org/2012/05/php-cgi-remote-scripting-cve-2012-1823.html
(*3): http://blog.sucuri.net/2012/05/php-cgi-vulnerability-exploited-in-the-wild.html
(*4): http://www.exploit-db.com/exploits/29290/
(*5): http://blog.tokumaru.org/2013/11/apache-magica-attack.html
http://www.morihi-soc.net/?p=114
http://d.hatena.ne.jp/ozuma/20131103/1383413495
http://neoredribbon.blog5.fc2.com/blog-entry-275.html


5.対策
以下の Web サイトを参考に PHP 5.4.3/5.3.13 以降を入手しアップデートすることで、この脆弱性を解消することが可能です。

PHP: Downloads
http://us1.php.net/downloads.php

また、Linux ディストリビューションにおいては、それぞれのディストリビューションに関連する情報を確認してください。

・Red Hat(Fedora)
Red Hat Bugzilla Bug 818907
https://bugzilla.redhat.com/show_bug.cgi?id=818907

・Ubuntu
CVE-2012-2311
http://people.canonical.com/~ubuntu-security/cve/2012/CVE-2012-2311.html

・Debian
CVE-2012-2311
http://security-tracker.debian.org/tracker/CVE-2012-2311

・Gentoo
Gentoo Linux Documentation -- PHP: Multiple vulnerabilities
http://www.gentoo.org/security/en/glsa/glsa-201209-03.xml


6.ソースコード
(Web非公開)

(執筆:株式会社ラック サイバー脅威分析センター

※Web非公開該当コンテンツ閲覧をご希望の方はScan Tech Reportにご登録(有料)下さい。

Scan Tech Report
http://scan.netsecurity.ne.jp/archives/51916302.html

《吉澤 亨史( Kouji Yoshizawa )》

関連記事

特集

PageTop

アクセスランキング

  1. 今日もどこかで情報漏えい 第23回「2024年3月の情報漏えい」なめるなという決意 ここまでやるという矜恃

    今日もどこかで情報漏えい 第23回「2024年3月の情報漏えい」なめるなという決意 ここまでやるという矜恃

  2. 雨庵 金沢で利用している Expedia 社の宿泊予約情報管理システムに不正アクセス、フィッシングサイトへ誘導するメッセージ送信

    雨庵 金沢で利用している Expedia 社の宿泊予約情報管理システムに不正アクセス、フィッシングサイトへ誘導するメッセージ送信

  3. タカラベルモントの海外向けウェブサイトのサーバがフィッシングメール送信の踏み台に

    タカラベルモントの海外向けウェブサイトのサーバがフィッシングメール送信の踏み台に

  4. スペシャリスト集結! マネーフォワード・ラック・富士ソフト・電通総研から学ぶ、脆弱性診断内製化の成功法則とは? AeyeScan 導入企業との公開対談

    スペシャリスト集結! マネーフォワード・ラック・富士ソフト・電通総研から学ぶ、脆弱性診断内製化の成功法則とは? AeyeScan 導入企業との公開対談PR

  5. セトレならまちで利用している Expedia 社の宿泊予約情報管理システムに不正アクセス、フィッシングサイトへ誘導するメッセージ送信

    セトレならまちで利用している Expedia 社の宿泊予約情報管理システムに不正アクセス、フィッシングサイトへ誘導するメッセージ送信

  6. 社員のセキュリティ意欲高める施策とは? 罰則は逆効果 ~ プルーフポイント「2024 State of the Phish」日本語版公表

    社員のセキュリティ意欲高める施策とは? 罰則は逆効果 ~ プルーフポイント「2024 State of the Phish」日本語版公表

  7. LINEヤフー委託先への不正アクセス、報告書を受け 2 度目の行政指導

    LINEヤフー委託先への不正アクセス、報告書を受け 2 度目の行政指導

  8. Linux の GSM ドライバにおける Use-After-Free の脆弱性(Scan Tech Report)

    Linux の GSM ドライバにおける Use-After-Free の脆弱性(Scan Tech Report)

  9. 訃報:セキュリティの草分けロス・アンダーソン氏 死去 67 歳、何回分かの生涯に匹敵する業績

    訃報:セキュリティの草分けロス・アンダーソン氏 死去 67 歳、何回分かの生涯に匹敵する業績

  10. 重い 高い 検索も使いにくいメールを企業の 6 割が使う理由

    重い 高い 検索も使いにくいメールを企業の 6 割が使う理由

ランキングをもっと見る