Skip to main content

pgAdmin 4 CVE-2026-17349

| EUVDEUVD-2026-51562 CRITICAL
Insufficiently Protected Credentials (CWE-522)
2026-07-31 f86ef6dc-4d3a-42ad-8f28-e6d5547a5007 GHSA-p547-rjmg-jqr4
9.3
CVSS 4.0 · Vendor: f86ef6dc-4d3a-42ad-8f28-e6d5547a5007
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate to shared pgAdmin server
  2. Delivery
    Identify admin's shared server id
  3. Exploit
    Call adhoc_connect_server to clone it
  4. Execution
    Clone persists with admin credentials, reassigned to attacker
  5. Persist
    Open newly-owned connection
  6. Impact
    Authenticate to database as admin

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V6 - Authentication Credential protection in transit/storage
Exploitation Conditions

Requires an authenticated pgAdmin user (PR:L) in a multi-user/server-mode deployment where the Workspaces feature (introduced in 9.0) is present and another user - typically an administrator - has created a shared server definition with saved credentials (save_password set, storing password and/or tunnel_password). The attacker must know or enumerate the id of that existing shared server and invoke /misc/workspace/adhoc_connect_server against it. Limiting factors: single-user desktop pgAdmin installs, deployments with no shared servers, or shared servers that do not save passwords are not exploitable; the attack notably persists the credential-bearing clone even if the actual database connection subsequently fails, so a wrong network path does not protect the credentials.

Impact

The vendor CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N, VC:H/VI:H, SC:H/SI:H) scoring 9.3 Critical is internally consistent with the description: network-reachable, low-complexity, requiring only low privileges (any authenticated pgAdmin user in a shared/multi-user deployment) and no user interaction, with high confidentiality and integrity impact both on pgAdmin and on the subsequent database system. The realistic risk is meaningfully gated by deployment: it requires pgAdmin running in server/multi-user mode with at least one shared server that has stored (saved) credentials and more than one user account - single-user desktop installs are not exposed. No EPSS score was provided, there is no KEV listing, and no public POC was supplied, so this is a high-severity, credential-exposure bug whose exploitation depends on a specific but common enterprise configuration rather than confirmed in-the-wild activity. This is a genuine priority for organizations that share admin-owned server connections among analysts, and lower priority for isolated desktop use.

Exploit ScenarioDerived

In a shared pgAdmin server-mode deployment, a low-privileged analyst who can see an administrator's shared PostgreSQL server invokes the Workspaces adhoc-connect endpoint against that server's id. pgAdmin clones the server row - copying the admin's saved database and tunnel passwords - and reassigns it to the analyst, who then opens the newly-owned connection and authenticates to the database as the administrator using credentials they never possessed. No public POC was provided, but exploitation is low-complexity network abuse of a legitimate authenticated feature.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 31, 2026

Cross-tenant credential theft in pgAdmin 4 (9.0 through 9.16) lets an authenticated non-owner user hijack another user's shared server connection by abusing the Workspaces adhoc-connect endpoint (/misc/workspace/adhoc_connect_server), which clones a target server row verbatim - including its owner's stored database password and tunnel password - and reassigns ownership to the caller. The victim is typically an administrator whose shared server carries saved credentials, and the attacker gains use of those database credentials and any privileges they confer. There is no public exploit identified at time of analysis and it is not on CISA KEV, but the fix (pgAdmin 4 9.17) and the underlying commit are public, and EPSS was not provided.

RemediationAI

Vendor-released patch: pgAdmin 4 9.17 - upgrade to 9.17 or later, which forces adhoc-clone rows to be owned by the calling user, private (not shared), and stripped of the source's stored password, save_password, and tunnel_password before commit (see commit https://github.com/pgadmin-org/pgadmin4/commit/64a9cdbd6a240a962144f84418beaf9e66419779 and issue https://github.com/pgadmin-org/pgadmin4/issues/10200). If you cannot patch immediately, reduce exposure by not storing/saving passwords on shared server definitions (disable 'Save Password' so no credential material exists to clone, at the cost of re-entering passwords per session), by avoiding shared server connections in multi-user server mode where untrusted users hold accounts, and by trimming the set of authenticated pgAdmin users; also review the pgAdmin config DB for cross-owned adhoc/clone rows and rotate any database passwords that may have been exposed to non-owners. These workarounds trade convenience (saved credentials, connection sharing) for containment and do not fully replace the patch.

Affected VersionsENISA

pgAdmin 4 9.0 <9.17

Affected Packages

euvd pgadmin_4 fix: 9.17

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

pgAdmin 4 is the dominant web/desktop administration client for PostgreSQL, storing per-user server definitions (including optionally saved connection and SSH tunnel passwords) in its own configuration database. The Workspaces feature added in 9.0 exposes an adhoc-connect flow that, given an existing server id, calls Server.clone() to duplicate the row. The root cause maps to CWE-522 (Insufficiently Protected Credentials): clone() performed a naive column-by-column copy that carried over ownership fields (user_id, shared, shared_username) and secret material (password, save_password, tunnel_password) from the source row, and pgAdmin persisted the clone before any connection attempt. Because the copy did not re-scope those fields to the requesting user, a non-owner ended up owning a private row bearing someone else's secrets. The fix explicitly nulls the credential fields and forces ownership/sharing fields to the calling user before commit; the same commit also hardens several tool socket endpoints (backup, restore, maintenance, import/export, psql/ERD sockets) with @permissions_required decorators.

Know when Pgadmin 4 gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (f86ef6dc-4d3a-42ad-8f28-e6d5547a5007) PRIMARY 9.3 CRITICAL
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:H/SI:H/SA:N
vuln.today AI 9.6 CRITICAL

Authenticated non-owner (PR:L) over the network with low complexity; stolen credentials grant access to a separate database system, so Scope changes and C:H/I:H, with no availability impact.

3.1 AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:H/SI:H/SA:N
SUSE 9.6 CRITICAL
AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N
Red Hat 9.6 CRITICAL

Primary rating from Vendor (f86ef6dc-4d3a-42ad-8f28-e6d5547a5007).

CVSS VectorVendor: f86ef6dc-4d3a-42ad-8f28-e6d5547a5007

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
High
Subsequent system: Integrity
High
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Jul 31, 2026 - 17:01 EUVD
CVE Published
Jul 31, 2026 - 16:16 cve.org
CRITICAL 9.3

DescriptionCVE.org

/misc/workspace/adhoc_connect_server, part of the Workspaces feature introduced in pgAdmin 4 9.0, when passed the id of an existing server, clones that server via Server.clone(), which copies every column from the source row, including user_id, shared, shared_username, and the stored credential fields password, save_password, and tunnel_password. When a non-owner triggered an adhoc connect against another user's (in practice, typically an administrator's) shared server, the clone inherited that user's ownership, shared flag, and stored database credentials verbatim. pgAdmin persisted this cross-tenant, credential-bearing server row before the connection was even attempted, so it survived even when the connection subsequently failed. The non-owner could then open the newly-owned clone and pgAdmin would connect using the source user's stored database password on the non-owner's behalf, granting the non-owner use of database credentials -- and whatever database privileges they confer -- that were never their own.

Fix forces the cloned adhoc record's ownership fields (user_id, shared, shared_username) and stored credential fields (password, save_password, tunnel_password) to belong to the calling user and be cleared/private before committing, regardless of the source server's ownership, sharing state, or stored credentials. A regression test asserts that an adhoc connect triggered by a non-owner against another user's shared server persists a row owned by the caller, not shared, and without the source's stored credentials.

This issue affects pgAdmin 4: from 9.0 before 9.17.

Executive ViewAI

Why It Matters

pgAdmin 4 versions 9.0-9.16 contain a critical vulnerability allowing authenticated users to steal database credentials and SSH tunnel passwords from other users' shared server connections. No public exploit has been identified at time of analysis, but administrators using shared connections face immediate risk of credential theft and unauthorized database access.

Business Impact: Severe
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 78% exploitable
Prevalence
High
pgAdmin is the standard, widely deployed PostgreSQL administration tool
Social Media
1
Sightings
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment Vendor CIRCL GitHub

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
Very High
Technical Impact
Total

Priority Score

46
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +46
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

CVE-2025-2945 CRITICAL POC
9.9 Apr 03

pgAdmin 4 contains critical remote code execution vulnerabilities in the Query Tool download and Cloud Deployment endpoi

CVE-2024-2044 CRITICAL POC
9.9 Mar 07

pgAdmin <= 8.3 is affected by a path-traversal vulnerability while deserializing users’ sessions in the session handling

CVE-2024-3116 CRITICAL POC
9.8 Apr 04

pgAdmin <= 8.4 is affected by a Remote Code Execution (RCE) vulnerability through the validate binary path API. Rated cr

CVE-2026-12046 CRITICAL POC
9.5 Jun 18

Remote unauthenticated access to two SQL Editor endpoints in pgAdmin 4 server-mode deployments (versions 6.9 through 9.1

CVE-2022-4223 HIGH POC
8.8 Dec 13

The pgAdmin server includes an HTTP API that is intended to be used to validate the path a user selects to external Post

CVE-2024-9014 MEDIUM POC
6.5 Sep 23

pgAdmin versions 8.11 and earlier are vulnerable to a security flaw in OAuth2 authentication. Rated medium severity (CVS

CVE-2025-12762 CRITICAL
9.8 Nov 13

Remote code execution in pgAdmin 4 (versions up to and including 9.9) lets an attacker who can get a crafted PLAIN-forma

CVE-2026-12045 CRITICAL
9.4 Jun 18

Remote SQL injection via prompt injection in pgAdmin 4 versions 9.13 through 9.15 allows attackers who can write content

CVE-2026-17351 CRITICAL
9.4 Jul 31

SQL injection sandbox escape in pgAdmin 4's AI Assistant (versions 9.13 through 9.16) lets an attacker break out of the

CVE-2026-17566 CRITICAL POC
9.4 Jul 31

OS command injection in pgAdmin 4 (all versions before 9.18) lets an authenticated user with the commonly-granted tools_

CVE-2026-7813 CRITICAL
9.4 May 11

Authorization bypass and privilege escalation in pgAdmin 4 server mode allows authenticated users to access other users'

CVE-2024-4216 MEDIUM POC
5.4 May 02

pgAdmin <= 8.5 is affected by XSS vulnerability in /settings/store API response json payload. Rated medium severity (CVS

Vendor StatusVendor

SUSE

Severity: Critical
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise High Performance Computing 15 SP7 Not-Affected
SUSE Linux Enterprise Module for Python 3 15 SP7 Not-Affected
SUSE Linux Enterprise Server 15 SP7 Not-Affected
SUSE Linux Enterprise Server for SAP Applications 15 SP7 Not-Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy