【活用ガイド】

JVNDB-2026-022112

pgAdmin ProjectのpgAdmin 4における複数の脆弱性

概要

pgAdmin 4 の AI Assistant における読み取り専用トランザクションのバイパスにより、アシスタントが読み取るデータベース内容に影響を与えられる攻撃者は、pgAdmin ユーザーのデータベース・ロールの権限で任意の SQL を実行できる。AI Assistant の execute_sql_query ツールは、データ変更を防ぐために、LLM が生成した SQL を BEGIN TRANSACTION READ ONLY のラッパー内で実行する。LLM から渡されたクエリは、単一ステートメントに限定する制約や読み取り専用の動詞に限定する制約なしにデータベース・ドライバへ転送されていたため、COMMIT、END、ROLLBACK、または ABORT で始まる複数ステートメントのペイロードによって読み取り専用トランザクションが終了され、その後のステートメントがオートコミットモードで実行された。末尾の ROLLBACK はそのため効果がなかった。攻撃ベクトルはプロンプトインジェクションである。AI Assistant が参照し得る任意のオブジェクト(行、列値、コメント)に内容を書き込める攻撃者は、LLM にツール呼び出しとして複数ステートメントのペイロードを出力させることができる。pgAdmin ユーザーのロールに通常の書き込み権限がある場合、攻撃者は不正なデータ変更を実行できる。pgAdmin ユーザーのロールが PostgreSQL のスーパーユーザーであるか、pg_execute_server_program を保持している場合、この連鎖は COPY ... TO PROGRAM を介してデータベース・サーバーホスト上でのリモートコード実行にまで及ぶ。修正では、LLM から渡されたクエリを事前に検証する。空でなくコメントのみでもない単一のステートメントに正しく構文解析でき、その先頭の実トークン(空白、コメント、句読点を取り除いた後)が SELECT、WITH、EXPLAIN、SHOW、VALUES、または TABLE のいずれかでなければならない。トランザクション制御の動詞、DML、DDL、CALL、COPY、DO、SET/RESET などその他すべては、データベース処理が行われる前に拒否される。さらに、PostgreSQL の READ ONLY モードが、データ変更を行う CTE、書き込みを伴う EXPLAIN ANALYZE、揮発的な副作用に対する最後の防波堤として機能し続ける。この問題は pgAdmin 4 の 9.13 から 9.16 未満に影響する。
CVSS による深刻度 (CVSS とは?)

CVSS v3 による深刻度
基本値: 8.8 (重要) [NVD値]
  • 攻撃元区分: ネットワーク
  • 攻撃条件の複雑さ: 低
  • 攻撃に必要な特権レベル: 低
  • 利用者の関与: 不要
  • 影響の想定範囲: 変更なし
  • 機密性への影響(C): 高
  • 完全性への影響(I): 高
  • 可用性への影響(A): 高
影響を受けるシステム


pgAdmin Project
  • pgAdmin 4 9.13 以上 9.16 未満

本脆弱性の影響を受ける製品の詳細については、ベンダ情報および参考情報をご確認ください。
想定される影響

・当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。
・当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。
・当該ソフトウェアが完全に停止する可能性があります。
対策

ベンダ情報を参照して適切な対策を実施してください。
ベンダ情報

GitHub
CWEによる脆弱性タイプ一覧  CWEとは?

  1. コマンドインジェクション(CWE-77) [その他]
  2. SQLインジェクション(CWE-89) [その他]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-12045
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-12045
  2. 関連文書 : fix(llm): reject multi-statement and non-read-only AI assistant queries  pgadmin-org/pgadmin4@bf47924  GitHub
更新履歴

  • [2026年07月03日]
      掲載