pgAdmin 4: Insufficiently Protected Credentials
CVE-2026-17349 is a critical-severity insufficiently protected credentials vulnerability in pgAdmin 4 from Pgadmin.org, with a CVSS 3.1 base score of 9.6 out of 10. It can be exploited remotely over the network by an attacker with a low-privileged account, without any action from a user. The record lists version 9.17 as the first without the flaw, so updating pgAdmin 4 to that release or later removes the exposure. There is no confirmed exploitation so far. EPSS estimates a 0.4% chance of exploitation within 30 days, which is low compared with other CVEs.
Critical severity: a successful attack would have severe impact.
What to do
- Update pgAdmin 4 to 9.17 or a later version.
- Read the advisory on github.com for workarounds and exact fixed builds.
Affected products and versions
| Vendor | Product | Affected versions | Fixed in |
|---|---|---|---|
| Pgadmin.org | pgAdmin 4 | 9.0 up to, but not including, 9.17 | 9.17 |
Version data comes from the organisation that assigned the CVE. Confirm against the vendor advisory before deciding you are unaffected.
How the severity score breaks down
- Attack vector
- NetworkCan be exploited remotely over a network, including the internet.
- Attack complexity
- LowNo special conditions are needed; the attack works reliably.
- Privileges required
- LowA basic user account is enough.
- User interaction
- NoneNo action by a victim is required.
- Scope
- ChangedThe attack can reach beyond the vulnerable component into other systems.
- Confidentiality
- HighAll data handled by the component can be read.
- Integrity
- HighData or code can be modified at will.
- Availability
- NoneAvailability is not affected.
Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N. Scored by CNA.
| Scoring system | Score | Severity | Scored by |
|---|---|---|---|
| CVSS 4.0 | 9.3 | Critical | CNA |
| CVSS 3.1 | 9.6 | Critical | CNA |
Official description
/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.
Source: the CVE record as published by its numbering authority, via NVD and CVE.org.
The underlying weakness: Insufficiently Protected Credentials
The product transmits or stores authentication credentials, but it uses an insecure method that is susceptible to unauthorized interception and/or retrieval.
How developers prevent this class of flaw
- Use an appropriate security mechanism to protect the credentials.
- Make appropriate use of cryptography to protect the credentials.
- Use industry standards to protect the credentials (e.g. LDAP, keystore, etc.).
More Insufficiently Protected Credentials vulnerabilities (CWE-522)
Timeline
- CVE record published.
- CISA published its SSVC assessment (exploitation: none, automatable: no, technical impact: total).
- Record last changed materially (score, affected products, status or references).
References
Advisories
- github.com/pgadmin-org/pgadmin4/issues/10200Issue Tracking
Patches and release notes
Other vulnerabilities in pgAdmin 4
- 9.6 Critical severity
- 9.6 Critical severity
- 7.6 High severity
- 9.6 Critical severity
- 9.6 Critical severity
- 8.8 High severity
Recent Insufficiently Protected Credentials vulnerabilities
- 7.5 High severity
- 8.6 High severity
- 8.7 High severity
- 7.1 High severity
- 7.5 High severity
- 9.6 Critical severity
Spotted an error? Tell us.