PHP-CGI のクエリストリング処理における脆弱性を悪用するエクスプロイトコード(Scan Tech Report) | ScanNetSecurity[国内最大級のサイバーセキュリティ専門ポータルサイト]
2017.08.18(金)

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

脆弱性と脅威 エクスプロイト

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
《吉澤 亨史》

関連記事

Scan PREMIUM 会員限定

もっと見る

Scan PREMIUM 会員限定特集をもっと見る

Scan BASIC 会員限定記事

もっと見る

Scan BASIC 会員限定記事特集をもっと見る

[Web小説] サイバー探偵 工藤伸治の事件簿サーガ (シーズン 1~6 第1話)

もっと見る

[Web小説] サイバー探偵 工藤伸治の事件簿サーガ (シーズン 1~6 第1話)特集をもっと見る

カテゴリ別新着記事

脆弱性と脅威 カテゴリの人気記事 MONTHLY ランキング

  1. 中国の「APT10」、日本の官公庁や製造業、メディアなどを狙う攻撃が活発化(ファイア・アイ)

    中国の「APT10」、日本の官公庁や製造業、メディアなどを狙う攻撃が活発化(ファイア・アイ)

  2. 改ざんやDDoS攻撃などWebサイトの被害が増加、サイトの点検を呼びかけ(JPCERT/CC)

    改ざんやDDoS攻撃などWebサイトの被害が増加、サイトの点検を呼びかけ(JPCERT/CC)

  3. バッファロー製の無線LAN製品に複数の脆弱性(JVN)

    バッファロー製の無線LAN製品に複数の脆弱性(JVN)

  4. Apache Struts 2 において Struts 1 由来のプラグインでの値検証不備により任意のコードが実行可能となる脆弱性(Scan Tech Report)

  5. OSPFプロトコルを実装する複数の製品に、DoS攻撃を受けるなどの脆弱性(JVN)

  6. 組込みソフト搭載の専用機器からSSHへのパケットが増加--定点観測レポート(JPCERT/CC)

  7. バッファロー製の無線LANルータに、任意のコードを実行される脆弱性(JVN)

  8. WindowsのLNKにリモートから任意のコードを実行される脆弱性(JVN)

  9. TwitterでNintendo Switchの購入希望者を狙った詐欺が横行

  10. 海外製デジタルビデオレコーダへのアクセスが増加、脆弱性悪用のおそれ(警察庁)

全カテゴリランキング

特集

★★Scan PREMIUM 会員限定コンテンツにフルアクセスが可能となります★★
<b>★★Scan PREMIUM 会員限定コンテンツにフルアクセスが可能となります★★</b>

経営課題としてサイバーセキュリティに取り組む情報システム部門や、研究・開発・経営企画に携わる方へ向けた、創刊19年のセキュリティ情報サービス Scan PREMIUM を、貴社の事業リスク低減のためにご活用ください。

×