Drupal の expandArguments() 関数の実装に起因する SQL インジェクションの脆弱性(Scan Tech Report) | ScanNetSecurity[国内最大級のサイバーセキュリティ専門ポータルサイト]
2018.05.24(木)

Drupal の expandArguments() 関数の実装に起因する SQL インジェクションの脆弱性(Scan Tech Report)

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

1.概要
Drupal に SQL インジェクションの脆弱性が報告されています。
悪意あるリモートの第三者に利用された場合、Drupal が使用するデータベース上で不正な操作が実行される可能性があります。
既にこの脆弱性を悪用する攻撃が確認されており、攻撃を受ける可能性が高いことが考えられるため、影響を受けるバージョンの Drupal を利用するユーザは可能な限り以下に記載する対策を実施することを推奨します。


2.深刻度(CVSS)
現時点 (2014/10/21) において、CVSS 未割り当て


3.影響を受けるソフトウェア
Drupal 7.0 - 7.31

※1 影響を受けるバージョンの Drupal 7 が含まれる、Debian などの Linux ディストリビューションも、この脆弱性の影響を受けます


4.解説
Drupal は PHP で記述されたオープンソースのコンテンツ管理システム (CMS)です。

Drupal には、DatabaseConnection::expandArguments()※2 関数 (database.inc)において、SQL 文を生成する際に配列パラメータのキーを適切にチェックせず、プレースホルダに展開してしまう不備があります。
このため、特定のパラメータを配列として渡し、配列パラメータのキーに SQL文を指定した不正なリクエストすることで、SQL インジェクション攻撃が可能な脆弱性が存在します。

この脆弱性を利用することでリモートの攻撃者は、Drupal が使用するデータベース上で任意の SQL コマンドが実行可能となります。

なお、既にこの脆弱性を悪用する攻撃が確認されていることが報告※3 されています。また、この脆弱性は Drupageddon という名称で呼ばれています。

※2 https://api.drupal.org/api/drupal/includes!database!database.inc/function/DatabaseConnection%3A%3AexpandArguments
※3 http://www.volexity.com/blog/?p=83
http://blog.sucuri.net/2014/10/drupal-sql-injection-attempts-in-the-wild.html


5.対策
以下の Web サイトより、Drupal 7.32 以降を入手しアップデートすることで、この脆弱性を解消することが可能です。

Drupal 7.32:
https://www.drupal.org/project/drupal

あるいは、下記の修正パッチを入手し適用することでも、脆弱性を解消することが可能です。

patch:
https://www.drupal.org/files/issues/SA-CORE-2014-005-D7.patch


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

(執筆:株式会社ラック サイバー・グリッド研究所

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

Scan Tech Report
http://scan.netsecurity.ne.jp/archives/51916302.html
《株式会社ラック サイバー・グリッド研究所》

関連記事

Scan PREMIUM 会員限定記事

もっと見る

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

人気過去記事

もっと見る

人気過去記事特集をもっと見る

カテゴリ別新着記事

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

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

×