Raw vector
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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XCVSS and EPSS are reproduced from their sources (NVD, FIRST EPSS). Risk Priority is our own derived reading, not an NVD score.
Summary
CVE-2026-17349 is a critical-severity Insufficiently Protected Credentials (CWE-522) vulnerability in Pgadmin Pgadmin 4. Its CVSS base score is 9.3 (Critical).
Operationally, exploitation aligns with the MITRE ATT&CK technique Remote Services (T1021); ranked at the 24th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.
The strongest mitigations our analysis identified map to AC-24 (Access Control Decisions) and AC-3 (Access Enforcement) — see the control section below for these in your framework.
OWASP Top 10 for Web (2025)
EU & UK References
- 🇪🇺 ENISA EUVD: EUVD-2026-51562
Vulnerability Data
/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…
more
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.
- CWE(s)
Related Threats
MITRE ATT&CK Enterprise Techniques
CVEs Like This One
Affected Assets
Mitigating Controls
Control response
—
—
- 1 hardening rule · 1 OS baseline
V11.3.3
Mitigating Controls (NIST 800-53 r5) AI
Enforcing approved authorizations on every access request structurally stops a user-controlled key from reaching another user's data.
Protection of information at rest requires encryption or equivalent safeguards for stored credentials.
Transmission confidentiality and integrity enforcement stops credentials from being sent in plaintext or without protection.
Requiring explicit access-control decisions on each request blocks unauthorized key-driven access.
Least-privilege restrictions limit the scope of data reachable even if a key check is bypassed.
Authenticator management requires secure generation, storage, and distribution of credentials, directly stopping insecure methods.
Mitigating Controls (NIST CSF 2.0) AI
Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.
Credential management practices directly reduce insecure storage/transmission but do not guarantee encryption or transport protection.
Authentication policies can enforce stronger credential handling yet address only verification, not storage or transit protection.
Protecting identity assertions covers conveyance of credentials but is narrower than full credential lifecycle protection.
Enforcing authorization policy and least privilege directly blocks user-controlled key tampering that bypasses access checks.
Encrypting data-at-rest fully prevents insecure credential storage while only partially satisfying the broader data-protection outcome.
Encrypting data-in-transit fully prevents interception of credentials in motion while only partially satisfying the broader data-protection outcome.
Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI
Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.
Acceptable-use expectations that cover protection of credentials and information assets throughout their lifecycle discourage practices that expose or mishandle authentication material.
Access control policy directly requires enforcement of authorization rules that prevent unauthorized access via manipulated keys.
Requiring protected storage, transmission, and non-display of passwords prevents credentials from being stored or sent in clear text where they can be harvested by unauthorized actors.
Managing access rights includes ensuring users can only access their own records and not bypass authorization by altering identifiers.
Contractual clauses that survive termination help ensure that credentials and other secrets are not retained or misused after employment ends.
Regular reminders about password security and personal accountability make users less likely to store or transmit credentials in cleartext or other unprotected forms.