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

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

phpMyAdmin には、Replace table prefix 機能における preg_replace() 関数の不適切な利用に起因して、任意の PHP コードが実行可能な脆弱性が存在します。

脆弱性と脅威 エクスプロイト
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
《吉澤 亨史( Kouji Yoshizawa )》

関連記事

Scan PREMIUM 会員限定記事

もっと見る

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

カテゴリ別新着記事

「経理」「営業」「企画」「プログラミング」「デザイン」と並ぶ、事業で成功するためのビジネスセンスが「セキュリティ」
「経理」「営業」「企画」「プログラミング」「デザイン」と並ぶ、事業で成功するためのビジネスセンスが「セキュリティ」

ページ右上「ユーザー登録」から会員登録すれば会員限定記事を閲覧できます。毎週月曜の朝、先週一週間のセキュリティ動向を総括しふりかえるメルマガをお届け。(写真:ScanNetSecurity 名誉編集長 りく)

×