Critical pgAdmin Authentication Bypass Lets Attackers Login as Administrator Without Credentials
2026/09/18 gbhackers — pgAdmin 4 に存在する深刻な脆弱性を悪用し、HTTP ID ヘッダーを介して任意のユーザーを装う未認証のリモート攻撃者が、管理者アカウントなどにアクセスする可能性がある。この CVE-2026-86863 は、pgAdmin の Web サーバ認証モードを使用する環境に影響し、CVSS 3.1 スコア 9.8 と評価されている。影響を受けるのは pgAdmin 4 バージョン 6.2〜9.17 であり、pgAdmin 4 バージョン 9.18 で修正されている。

pgAdmin の深刻な認証バイパスの脆弱性
pgAdmin の Webserver 認証は、上流の Web サーバやリバースプロキシがユーザーを認証した後、pgAdmin へリクエストを転送する環境を想定しており、これらの上流コンポーネントは CGI/WSGI の環境変数を通じて認証済みユーザー名を提供する。一方、脆弱な実装では、信頼されたサーバから提供される環境変数の値と、リモート・クライアントが HTTP ヘッダーで直接送信する ID の値を確実に区別できなかった。
この問題は、WebserverAuthentication.get_user() 関数による ID の取得処理に起因する。同関数は、まず設定された WEBSERVER_REMOTE_USER の値をリクエスト環境から取得しようとするが、取得に失敗すると、同名の値を受信したリクエスト・ヘッダーから取得する処理に切り替わる。
HTTP リクエスト・ヘッダーは送信者が制御できるため、pgAdmin インスタンスへアクセスできる攻撃者は、標的とするアカウントのユーザー名を含むヘッダーを送信でき、その結果、パスワードや多要素認証などの有効な認証情報を使用せずに、対象アカウントとして認証を通過する可能性がある。
さらに、管理者が WEBSERVER_REMOTE_USER に対して、HTTP プレフィックスやハイフンを含む名前である HTTP_X_FORWARDED_USER/X-Forwarded-User などを設定している場合には、リスクが高まる。WSGI サーバは、クライアントが送信したヘッダーを、このような名前の環境変数として公開することが多く、前述の代替処理が実行される前から、攻撃者が ID の取得元となる環境変数の値を制御できる可能性がある。
この脆弱性の悪用に成功した攻撃者は、管理者などの特権ユーザーに属する pgAdmin セッションにアクセスする可能性がある。侵入後は、そのアカウントからアクセス可能なデータベース・オブジェクトやデータの閲覧/変更/削除を行う可能性がある。
| Scoring systemSeverityScore | ||
|---|---|---|
| CVSS 3.1 | Critical | 9.8 |
| CVSS 4.0 | Critical | 9.3 |
この脆弱性は、両方の CVSS バージョンで「深刻度:Critical」と評価されている。CVSS 3.1 ベクターが示すのは、ネットワーク経由で悪用可能であり、攻撃の複雑性が低く、権限やユーザー操作が不要という特性であり、機密性/完全性/可用性に重大な影響を及ぼす可能性がある。
注意が必要なのは、pgAdmin の AUTHENTICATION_SOURCES 設定で Webserver が有効になっている場合にのみ、この問題が影響を及ぼすことである。その他の pgAdmin 認証メカニズムを使用する組織は、この特定の Webserver 認証の脆弱性の影響を受けない。
バージョン 9.18 では、pgAdmin における提示された ID の処理方法が変更され、正規の CGI/WSGI 変数とヘッダー由来の値を区別したうえで、デフォルトでは前者のみを信頼する。
これまでと同様、管理者はヘッダーから提供された ID を意図的に使用できるが、その場合は WEBSERVER_REMOTE_USER_FROM_HEADER を明示的に有効化する必要がある。このオプションは、WEBSERVER_TRUSTED_PROXIES を使用する信頼できるプロキシ設定と組み合わせるべきである。環境によっては、WEBSERVER_SHARED_SECRET で検証する共有シークレット・ヘッダーが必要になる場合がある。
この修正では、攻撃者の影響を受ける X-Forwarded-For の値により操作され得る request.remote_addr には依存せず、実際のソケット接続元アドレスを確認する方式が用いられる。また、pgAdmin における追加の安全策として、webserver に設定されていないアカウントのログインを、auth_source が Webserver 認証の場合にブロックする仕様が取り込まれている。
組織に求められるのは、直ちに pgAdmin 4 バージョン 9.18 などの修正済みリリースへアップグレードし、リバースプロキシの認証設定を確認することである。セキュリティチームは、明示的に信頼できるプロキシ・アドレスからのみ ID ヘッダーを受け入れるようにする必要があり、そのうえで、通常とは異なる pgAdmin セッション、権限のない管理者アクセス、想定外のヘッダー値がないかログを調査すべきである。この脆弱性を報告したのは、h9e0n としても知られるセキュリティ研究者 Sanghyeon Lee である。
pgAdmin 4 (v6.2-9.17) の Webserver 認証環境において、HTTP ヘッダーを介した認証迂回の深刻な脆弱性 CVE-2026-86863 が存在します。上流サーバ由来の環境変数とクライアント送付のヘッダーを誤区別する実装不備により、リモート攻撃者にパスワードなしで管理者等の権限を奪取され、データベース内データの閲覧/変更/削除に至る恐れがあります。安全確保のために pgAdmin 4 v9.18 への速やかな更新/リバースプロキシ設定の見直し/アクセスログの点検が求められます。
You must be logged in to post a comment.