Monitor vulnerabilities like this one. Sign up free to get alerted when software you use is affected.
9.4

CVE-2026-7813: Unauthorized Access in pgAdmin 4: Shared Servers and Private Data

CVE-2026-7813 GHSA-h2x2-q2mc-24gw
Summary

A security issue in pgAdmin 4 allows an attacker to access another user's private servers, server groups, and background processes. This affects pgAdmin 4 versions before 9.15. To fix this, the developers have added stronger access controls and checks to ensure that users can only see and edit their own data.

What to do
  • Update pgadmin4 to version 9.15.
Affected software
Ecosystem VendorProductAffected versions
pip pgadmin4 < 9.15
Fix: upgrade to 9.15
pgadmin pgadmin_4 < 9.15
cpe:2.3:a:pgadmin:pgadmin_4:*:*:*:*:*:postgresql:*:*
Original title
pgAdmin 4 server mode has an authorization vulnerability affecting Server Groups, Servers, Shared Servers, Background Processes, and Debugger modules
Original description
Authorization vulnerability in pgAdmin 4 server mode affecting Server Groups, Servers, Shared Servers, Background Processes, and Debugger modules.

Multiple endpoints fetched user-owned objects without filtering by the requesting user's identity. An authenticated user could access another user's private servers, server groups, background processes, and debugger function arguments by guessing object IDs.

Additionally, the Shared Servers feature contained multiple issues including credential leakage (passexec_cmd, passfile, SSL keys), privilege escalation via writable passexec_cmd (a shell command executed when establishing the connection) allowing arbitrary command execution in the owner's process context, and owner-data corruption via SQLAlchemy session mutations. Several owner-only fields (passexec_cmd, passexec_expiration, db_res, db_res_type) were writable by non-owners through the API, and additional fields (kerberos_conn, tags, post_connection_sql) lacked per-user persistence so non-owner edits mutated the owner's record.

Fix centralises access control via a new server_access module, scopes all user-owned models with a UserScopedMixin, returns HTTP 410 from connection_manager when access is denied in server mode, suppresses owner-only fields for non-owners across the merge / API response / ServerManager paths, and adds an explicit owner-only write guard. The remediation landed in two pull requests; both are referenced.

This issue affects pgAdmin 4: before 9.15.
nvd CVSS3.1 9.9
nvd CVSS4.0 9.4
Vulnerability type
CWE-284 Improper Access Control
Published: 11 May 2026 · Updated: 29 May 2026 · First seen: 11 May 2026