DrupalCoreのSQLインジェクション 脆弱性 CVE-2026-9082が実際のサイバー攻撃に悪用

セキュリティニュース

投稿日時: 更新日時:

DrupalCoreのSQLインジェクション 脆弱性 CVE-2026-9082が実際のサイバー攻撃に悪用

Drupal Security Teamは2026年5月20日、Drupalコアのデータベース抽象化APIに存在する深刻なSQLインジェクションが可能になる脆弱性に対するセキュリティアドバイザリ「SA-CORE-2026-004」(CVE-2026-9082)を公開しました。同脆弱性はDrupalの重大度スケールで当初20/25(最終的に23/25に更新)と評価される「Highly Critical(非常に重大)」であり、未認証の攻撃者がPostgreSQLバックエンドを使用するDrupalサイトに対して任意のSQLを実行できます。

パッチ公開から48時間以内に実際の攻撃が開始され、Impervaは65か国の約6,000サイトへの15,000件超の攻撃を観測しています。米国CISAは2026年5月22日にCVE-2026-9082を既知の悪用脆弱性カタログ(KEV)に追加し、連邦政府機関に5月27日までの修正を命じました。


この記事のサマリー

  • CVE:CVE-2026-9082
  • 公式アドバイザリSA-CORE-2026-004(Drupal公式)
  • Drupal重大度スコア:当初20/25→実攻撃確認後23/25(「Highly Critical」)
  • NVD CVSS v3.1:6.5(Medium)※後述の通りこのスコアは実際の危険性を反映していない
  • 影響を受けるサイトPostgreSQLデータベースを使用するDrupalサイトのみ(MySQL・MariaDB・SQLiteは影響なし)
  • 攻撃の条件認証不要(匿名ユーザーが悪用可能)
  • 発見者:Michael Maturi氏(Google/Mandiant)
  • 公開日:2026年5月20日(アドバイザリ)/5月22日(実攻撃確認・Drupal公式がアドバイザリ更新)
  • 事前予告:2026年5月18日に「PSA-2026-05-18」として「高度な重大リリースが予定されている」と事前告知(「パッチ公開後数時間〜数日以内に悪用される可能性がある」と警告)
  • 実攻撃の確認:パッチ公開から48時間以内。Impervaが65か国・6,000サイトへの15,000件超の攻撃を観測。攻撃の半数近くがゲームと金融サービスのウェブサイトを標的。
  • CISA KEV追加日:2026年5月22日。FCEB機関の対応期限:5月27日
  • 修正済みバージョン(PostgreSQL使用サイトは即時更新):11.3.10・11.2.12・10.6.9・10.5.10(サポート対象)、11.1.10・10.4.10(EOL例外対応)
  • 特記事項:サポート対象ブランチのリリース(11.3・11.2・10.6・10.5)にはSymfonyとTwigのセキュリティアップデートも含まれる。PostgreSQL不使用のサイトも更新が推奨。

脆弱性の技術詳細—「PHPの配列キーがSQL句に無害化されずに到達する」

データベース抽象化レイヤーの崩壊

Drupalはすべてのクエリを実行前にサニタイズしてSQLインジェクション攻撃を防ぐ「データベース抽象化API」を内包しています。Drupal公式アドバイザリ(SA-CORE-2026-004)の説明によれば、「このAPIの脆弱性により、攻撃者が特別に細工されたリクエストを送信することで、PostgreSQLデータベースを使用するサイトに対して任意のSQLインジェクションを引き起こすことができる」とされています。

Akamaiの技術分析によれば、根本原因はDrupalのPostgreSQL EntityQueryコンディションハンドラー(pgsql/src/EntityQuery/Condition.php)における入力サニタイズの崩壊にあります。PHPのクエリ文字列パーサーは攻撃者が配列のキー(値だけでなくキーそのもの)を制御することを可能にします。これらのキーはJSON:APIやViewsなどのパイプラインを経由してそのまま保持され、最終的に無害化されていないSQLとしてPostgreSQLバックエンドに到達します。

DepthFirst AIのブログによれば修正は3つのファイルへの変更で、array_values()の正規化をコンディション変換の前に追加し、PostgreSQLのループがarray_values($condition['value'])を反復処理するよう変更されました。

どのエンドポイントが影響を受けるか

Akamaiの分析では、本脆弱性が悪用可能な経路として主に以下が挙げられています。

JSON:API(コアモジュール)として、RESTful APIを通じた任意のエンティティへのクエリが攻撃ベクターとなります。Viewsの公開フィルター(Exposed Filters)として、ユーザーが直接操作できるフィルターを持つViewsページが対象です。エンティティオートコンプリートエンドポイントとして、フォームのオートコンプリート機能を提供するエンドポイントが対象です。

MySQLサイトは影響を受けない

Drupal公式は「このSQLインジェクション脆弱性はPostgreSQLを使用するサイトにのみ影響する」と明記しています。MySQL・MariaDB・SQLiteを使用しているサイトは本脆弱性の影響を受けません。ただし、サポート対象ブランチのリリースにはSymfonyおよびTwigのセキュリティアップデートも同梱されているため、データベースの種類にかかわらず全サイトへのアップデートが強く推奨されています

「60分以内に動作するエクスプロイトが完成」——AIを使った脆弱性悪用の新時代

本インシデントで特に注目すべきは、Miggo Securityが「Claude AIを使い、トークン費用10ドル未満で60分以内に動作するエクスプロイトを構築した」と報告している点です(Miggo Security・2026年5月20日)。

同社のブログタイトル「The Death of ‘Patch First’(『先にパッチ』の死)」は、オープンソースCMSの公開パッチ差分とAIを組み合わせることで、脆弱性の詳細を知らない攻撃者でも極めて短時間でエクスプロイトを開発できる現実を端的に示しています。

「Drupalがパッチを公開した瞬間から、意味のあるパッチ適用の遅延——次のメンテナンスウィンドウを待つことさえも——は許容できないリスクとなった」とMiggoは結論づけています。

パッチ公開後48時間の攻撃状況

Impervaによる実攻撃の観測

Imperva(Thalesグループ傘下)はパッチ公開から2日間で以下を観測しています。

攻撃試行件数として15,000件超、標的サイト数として約6,000サイト、対象国数として65か国にわたります。特筆すべきは、攻撃の半数近くがゲームおよび金融サービスのウェブサイトを標的としていたという点です。これらのセクターは認証情報の窃取Imperva(Thalesグループ傘下)はや財務データへのアクセスが直接的な金銭的利益につながるためです。

Drupalが事前予告した通りの展開

Drupalは5月18日のPSA(公開サービスアナウンス)で「パッチ公開後数時間から数日以内に悪用が発生する可能性がある」と警告していました。この予告は正確だったことになります。Drupalは5月22日にアドバイザリを更新し「エクスプロイトの試みが現在野外で検出されている」ことを公式に認めました。

NVD CVSS 6.5と「実際の危険性」のギャップ

今回のケースはNVDのCVSSスコア(6.5・Medium)とDrupalの重大度評価(23/25・Highly Critical)の間に大きな乖離が生じた事例として注目されます。

HowToFix.guideの分析が指摘するように「NVD CVSSのベーススコアは、CMS固有の露出レベル・匿名ユーザーによる到達可能性・データベースバックアップCMSサイトが侵害された際の運用コストを常に捉えているわけではない」のが現実です。Drupal独自のリスクスコアリングでは「AC:None(攻撃の複雑度ゼロ)・A:None(認証不要)・CI:All(機密データへのフルアクセス)・II:All(全データの変更・削除が可能)」という最悪レベルの評価が付されており、NVDスコアだけに頼ったトリアージは危険です。

修正済みバージョンと更新手順

サポート対象ブランチ(即時更新推奨)

現バージョン系列 修正済みバージョン
11.3.x 11.3.10
11.2.x 11.2.12
10.6.x 10.6.9
10.5.x 10.5.10

EOLブランチへの例外的対応

Drupal Security Teamは本脆弱性の深刻さから、通常はセキュリティカバレッジを受けないEOLブランチに対しても例外的にパッチを提供しています。

ブランチ 修正済みバージョン 備考
11.1.x・11.0.x 11.1.10 EOLマイナーバージョン
10.4.x以前 10.4.10 EOL
8.9.x ベストエフォートパッチ提供 EOL・他の未パッチCVEも残存
9.5.x ベストエフォートパッチ提供 EOL・他の未パッチCVEも残存

注意:Drupal 8・9はEOLであり、本件以外にも多数の未修正CVEが存在します。EOLバージョンを引き続き使用することは高リスクです。

Drush を使用した更新コマンド

# 最新の安定版へ更新
composer update drupal/core --with-all-dependencies

# または Drush を使用
drush up drupal/core

# キャッシュのクリア
drush cr

管理者が今すぐ確認すべき3ステップ

Step 1:使用データベースの確認として、まずDrupalサイトのデータベースバックエンドを確認してください。PostgreSQLを使用している場合は即時更新が必須です。MySQL・MariaDB・SQLiteの場合は本脆弱性の直接的な影響はありませんが、Symfony・Twigの更新のためにアップデートを強く推奨します

Step 2:ログの遡及確認として、少なくとも2026年5月18日(PSA公開日)から現在までの期間のアクセスログを確認し、JSON:API・Viewsエンドポイント・エンティティオートコンプリートへの不審なリクエストがないかを調査してください。

Step 3:WAF・Drupal Stewardによる緊急防御として、即時のアップデートが困難な場合は、Drupal Stewardや商用WAF(Akamai App & API Protector等)のSQLインジェクション保護ルールを有効化してください。ただしこれはあくまで一時的な緩和策であり、パッチ適用の代替にはなりません。

2026年のDrupalコアセキュリティアドバイザリの系列

CyberPressが指摘するように、本件は2026年に入ってから4件目のDrupalコアセキュリティアドバイザリです。

SA-CORE-2026-001(CVE-2026-6365・jQuery XSS・2026年4月)、SA-CORE-2026-002(CVE-2026-6366・ガジェットチェーン・2026年4月)、SA-CORE-2026-003(CVE-2026-6367・CKEditor XSS・2026年4月)に続く今回のSA-CORE-2026-004は、特にエンタープライズ・政府機関・教育機関等のミッションクリティカルなポータルにDrupalを使用している組織にとって、Drupalのバージョン管理とパッチ適用プロセスを今すぐ見直す契機となるものです。


参考情報(1次ソース)