【活用ガイド】

JVNDB-2026-027150

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

概要

pgAdmin 4 バージョン7.2で導入された MASTER_PASSWORD_HOOK 設定により、管理者はユーザーごとの暗号化キーを返す外部コマンドを設定できるようになりました。この設定文字列内の %u は現在のユーザー名に置き換えられます。以前の実装では、ユーザー名をコマンド文字列に直接挿入し、subprocess.Popen(..., shell=True) で実行していました。しかし、ユーザー名は pgAdmin が完全に制御していない外部認証ソース(OAuth/OIDC クレーム、Kerberos、Webサーバー認証など)から取得される可能性があるため、シェルのメタ文字(';', '$()', バッククォート、パイプ、'&&', 改行など)を含むユーザー名により、認証されたユーザーが任意のコマンドを、設定されたフック文字列が %u を利用している全ての環境で pgAdmin サービスアカウントとして実行できる問題がありました。修正では、管理者が設定する信頼されたフック文字列をまず引数ベクトルにトークン化します(POSIXクオートモードの shlex を使用し、Windowsスタイルのパスが誤解析されないようバックスラッシュエスケープは無効化しています)。その後、信頼できないユーザー名を個々の argv 要素に置換し、shell=False で実行します。これによりユーザー名は常に一つの argv 要素に限定され、その中のシェルメタ文字は無効化されます。以前は、フック文字列内のシェル機能(パイプ、リダイレクション、環境変数展開、グロビング)に依存していた管理者は、そのロジックを呼び出すスクリプト側に移す必要があります。なぜなら、もはやシェルで解釈されないためです。この問題は pgAdmin 4 のバージョン7.2から9.17未満に影響します。
CVSS による深刻度 (CVSS とは?)

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


pgAdmin Project
  • pgAdmin 4 7.2 以上 9.17 未満

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

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

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

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

  1. OSコマンドインジェクション(CWE-78) [その他]
  2. 引数の挿入または変更(CWE-88) [その他]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-17347
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-17347
  2. 関連文書 : Fix OS command injection in the MASTER_PASSWORD_HOOK feature  pgadmin-org/pgadmin4@ea7e798  GitHub
  3. 関連文書 : Fix MASTER_PASSWORD_HOOK tokenisation on Windows  pgadmin-org/pgadmin4@e7a8576  GitHub
更新履歴

  • [2026年08月10日]
      掲載