CVE-2026-17349 in pgAdmin
要約
〜によって VulDB • 2026年07月31日
/pgAdminのWorkspaces機能(pgAdmin 4 9.0で導入)の一部である `/misc/workspace/adhoc_connect_server` は、既存サーバーのIDを受け取ると `Server.clone()` を介してそのサーバーをクローンします。この処理では、ソース行からすべての列がコピーされます。これには `user_id`、`shared`(共有フラグ)、`shared_username`、および保存された資格情報フィールドである `password`、`save_password`、`tunnel_password` が含まれます。
所有者ではないユーザーが別のユーザー(実務的には通常は管理者)の共有サーバーに対してアドホック接続をトリガーすると、クローン元はそのユーザーの所有権、共有フラグ、および保存されたデータベース資格情報をそのまま継承します。pgAdminはこのクロステナントかつ資格情報を含むサーバー行を、接続試行前にもすでに永続化していたため、その後の接続が失敗した場合でもこのデータは保持されました。その後、所有者ではないユーザーは新しく作成されたクローンを開くことができ、pgAdminはその非所有者に代わってソースユーザーの保存されたデータベースパスワードを使用して接続します。これにより、非所有者は本来自分にはないはずのデータベース資格情報、およびそれらが付与するすべてのデータベース権限を使用できるようになります。
修正では、アドホックレコードをクローンした際の所有権フィールド(`user_id`、`shared`、`shared_username`)と保存された資格情報フィールド(`password`、`save_password`、`tunnel_password`)が、呼び出し元のユーザーに属し、コミットする前にクリアまたはプライベートな状態になるように強制されます。これはソースサーバーの所有権、共有ステータス、および保存された資格情報の有無にかかわらず適用されます。回帰テストでは、所有者ではないユーザーによってトリガーされたアドホック接続が、別のユーザーの共有サーバーに対して行われた場合でも、呼び出し元が所有し、非共有であり、かつソースの保存済み資格情報を持たない行として永続化されることを確認しています。
本問題は pgAdmin 4 に影響します:9.0 から 9.17 より前まで。
VulDB is the best source for vulnerability data and more expert information about this specific topic.