
CVE-2026-9082(Drupal SA-CORE-2026-004)Drupal Core SQLi のPoC
免責事項: この概念実証コードは教育および研究目的のみで提供されています。所有していないシステム、またはテストする明示的な許可を得ていないシステムに対して、このソフトウェアを使用しないでください。作者は、このプロジェクトの誤用または損害について一切の責任を負いません。
CVE-2026-9082(Drupal SA-CORE-2026-004)の概念実証コード(poc.py)です。これはDrupalコアの重大なSQLインジェクション脆弱性であり、DrupalがPostgreSQLデータベースバックエンドを使用するように構成されている場合、攻撃者が任意のSQLクエリを送信できる可能性があります。
この脆弱性は、DrupalコアのPostgreSQLエンティティクエリ条件トランスレータに起因します。エンティティクエリのINフィルタにおける配列キーが、攻撃者によって操作され、任意のSQL断片を注入される可能性があります。
このPoCはDrupalのJSON:APIレイヤーと対話し、悪意を持って作成されたSQL条件を注入します。脆弱性のあるバージョンではHTTP 500 Internal Server Errorが発生しますが、修正済みバージョンではクエリキーが適切にサニタイズされ、例外が発生しません。
CVE ID: CVE-2026-9082
SA-CORE ID: SA-CORE-2026-004
CVSSスコア: 6.5(MEDIUM)
CVSSベクター: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
カテゴリ: SQLインジェクション
影響: 認証回避、情報漏えい、権限昇格、リモートコード実行(構成によって異なります)
影響を受けるバージョン(Drupalコア):
>= 8.9.0, < 10.4.10>= 10.5.0, < 10.5.10>= 10.6.0, < 10.6.9>= 11.0.0, < 11.1.10>= 11.2.0, < 11.2.12>= 11.3.0, < 11.3.10単に以下を実行します:
make
以下のものを使用したdocker-compose再現ラボを提供します:
両方のセットアップには以下が含まれます:
/jsonapi/node/article に公開アクセス可能(多くのDrupalサイトで一般的な構成)/jsonapi/node/article フィルタリングが現実的に動作することを確認するための単一の article ノード
サイトファイルとDBコンテンツは、sites.tar.gz と init.sql.gz に既に準備されています。本稿執筆時点では、Drupal 11.2.12はDocker Hubでまだ利用できないため、composerでインストールしたカスタムイメージを構築します。