phpMyAdmin の preg_replace() 関数の不適切な利用に起因する任意コード実行の脆弱性(Scan Tech Report) | ScanNetSecurity[国内最大級のサイバーセキュリティ専門ポータルサイト]
2017.09.25(月)

phpMyAdmin の preg_replace() 関数の不適切な利用に起因する任意コード実行の脆弱性(Scan Tech Report)

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

1.概要
phpMyAdmin には、Replace table prefix 機能における preg_replace() 関数の不適切な利用に起因して、任意の PHP コードが実行可能な脆弱性が存在します。
phpMyAdmin にアクセス可能な認証情報を持つ悪意あるユーザに利用された場合、システム上で不正な操作が実行される可能性があります。
脆弱性を悪用された場合の影響度が高いため、影響を受けるバージョンの phpMyAdmin を利用するユーザは可能な限り以下に記載する対策を実施することを推奨します。


2.深刻度(CVSS)
6.0
http://nvd.nist.gov/cvss.cfm?version=2&name=CVE-2013-3238&vector=%28AV%3AN/AC%3AM/Au%3AS/C%3AP/I%3AP/A%3AP%29


3.影響を受けるソフトウェア ※
phpMyAdmin 3.5.8 以前

※1 開発版である phpMyAdmin 4.0.0-rc2 以前もこの脆弱性の影響を受けます。


4.解説
phpMyAdmin は、Web ブラウザ上で MySQL サーバを管理することが可能な PHPで開発されたソフトウェアです。
また、PHP の preg_replace() 関数※2 は、正規表現による文字列の置換処理を行う関数であり、e 修飾子 (PREG_REPLACE_EVAL) を利用することで、置換後パターンの文字列を PHP コードとして解釈し、実行することが可能です。

phpMyAdmin には Replace table prefix 機能を利用する際に preg_replace() 関数 (mult_submits.inc.php) において、from_prefix (第 1 引数) および to_prefix (第 2 引数) パラメータの入力値チェックを適切に行わない不備があります。
このため、当該パラメータにそれぞれ e 修飾子+ NULL 文字 (/e\0) および PHP コードを指定した不正なリクエストを処理した場合、preg_replace() 関数が、from_prefix パラメータに含まれる NULL 文字を終端文字として処理してしまうため、e 修飾子が指定されていると誤って解釈してしまう脆弱性が存在します。

この脆弱性を利用することで phpMyAdmin にアクセス可能な認証情報を持つ攻撃者は、to_prefix パラメータに指定した任意の PHP コードを Web サーバを実行するユーザの権限で実行可能となります。

なお、システムで PHP 5.4.6 以前のバージョンを利用する環境のみが、この脆弱性の影響を受けます。

※2 preg_replace
http://php.net/manual/ja/function.preg-replace.php


5.対策
以下の Web サイトより、phpMyAdmin 3.5.8.1/4.0.0 以降を入手し、当該バージョンにアップデートする、あるいはパッチを入手し適用することで、この脆弱性を解消することが可能です。

phpMyAdmin Download:
http://www.phpmyadmin.net/home_page/downloads.php

Dropped unsafe usage of preg_replace
https://github.com/phpmyadmin/phpmyadmin/commit/dedd542cdaf1606ca9aa3f6f8f8adb078d8ad549
Prevent null-byte injection in preg_replace()
https://github.com/phpmyadmin/phpmyadmin/commit/ffa720d90a79c1f33cf4c5a33403d09a67b42a66


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. Wi-Fiルータを攻撃し、Androidユーザを感染させるトロイの木馬を発見(カスペルスキー)

    Wi-Fiルータを攻撃し、Androidユーザを感染させるトロイの木馬を発見(カスペルスキー)

  2. 自動車ハッキングのリスク 本当のところ - 名古屋大学 高田教授に聞く

    自動車ハッキングのリスク 本当のところ - 名古屋大学 高田教授に聞く

  3. Apache Struts 2 において REST プラグインの実装不備により任意のコードが実行されてしまう脆弱性(Scan Tech Report)

    Apache Struts 2 において REST プラグインの実装不備により任意のコードが実行されてしまう脆弱性(Scan Tech Report)

  4. Git における値検証不備を悪用して任意のコードが実行可能となる脆弱性(Scan Tech Report)

  5. 富士ゼロックスが提供する複数の製品に任意コード実行の脆弱性(JVN)

  6. 「WannaCry」や「Mirai」の亜種や別種によるアクセスが増加(警察庁)

  7. 幅広い環境が影響を受けるBluetoothの脆弱性「BlueBorne」に注意喚起(JPCERT/CC)

  8. NTT西日本の「フレッツ接続ツール」に任意コード実行の脆弱性(JVN)

  9. Apache Struts 2 において REST プラグインでの XML データ処理の不備により遠隔から任意のコードが実行可能となる脆弱性(Scan Tech Report)

  10. Microsoft Windows の GDI に Palette オブジェクトにおける整数オーバーフローにより管理者権限で任意のコードが実行可能となる脆弱性(Scan Tech Report)

全カテゴリランキング

特集

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

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

×