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値]
| |
| 影響を受けるシステム | |
|
| |
pgAdmin Project | |
本脆弱性の影響を受ける製品の詳細については、ベンダ情報および参考情報をご確認ください。 | |
| 想定される影響 | |
・当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 | |
| 対策 | |
ベンダ情報を参照して適切な対策を実施してください。 | |
| ベンダ情報 | |
GitHub | |
| CWEによる脆弱性タイプ一覧 CWEとは? | |
| |
| 共通脆弱性識別子(CVE) CVEとは? | |
|
| |
| 参考情報 | |
| |
| 更新履歴 | |
|
| 公表日 | 2026/06/19 |
| 登録日 | 2026/07/03 |
| 最終更新日 | 2026/07/03 |



