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

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. 範を示す ~ MITRE がサイバー攻撃被害公表

    範を示す ~ MITRE がサイバー攻撃被害公表

  2. 脆弱な DMARC セキュリティ・ポリシーを悪用、北朝鮮スピアフィッシング詐欺

    脆弱な DMARC セキュリティ・ポリシーを悪用、北朝鮮スピアフィッシング詐欺

  3. 東急のネットワークに不正アクセス、連結子会社のファイルサーバでデータ読み出される

    東急のネットワークに不正アクセス、連結子会社のファイルサーバでデータ読み出される

  4. 東京メトロ社員が遺失者になりすまし、現金総額 235,458円 ほか遺失物着服

    東京メトロ社員が遺失者になりすまし、現金総額 235,458円 ほか遺失物着服

  5. 「マルカワみそ公式サイト」に不正アクセス、カード情報に加えログイン用パスワードも漏えい

    「マルカワみそ公式サイト」に不正アクセス、カード情報に加えログイン用パスワードも漏えい

  6. ランサムウェア被害の原因はスターティア社の UTM テストアカウント削除忘れ

    ランサムウェア被害の原因はスターティア社の UTM テストアカウント削除忘れ

  7. TwoFive メールセキュリティ Blog 第14回「いよいよ6月、メルマガが届かなくなる…!? ~ メルマガ配信している皆さん ワンクリック購読解除の List Unsubscribe対応は済んでますか?」

    TwoFive メールセキュリティ Blog 第14回「いよいよ6月、メルマガが届かなくなる…!? ~ メルマガ配信している皆さん ワンクリック購読解除の List Unsubscribe対応は済んでますか?」

  8. テレ東「ヤギと大悟」公式 X アカウントが乗っ取り被害、意図しないポストが数件行われる

    テレ東「ヤギと大悟」公式 X アカウントが乗っ取り被害、意図しないポストが数件行われる

  9. ランサムウェア「LockBit」被疑者の資産を凍結し起訴

    ランサムウェア「LockBit」被疑者の資産を凍結し起訴

  10. 豊島のサーバにランサムウェア攻撃、復旧済みで業務に影響なし

    豊島のサーバにランサムウェア攻撃、復旧済みで業務に影響なし

ランキングをもっと見る