Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as a pgAdmin server-mode user
-
DeliveryAdd connection to a GSSAPI/SSPI PostgreSQL server
-
Exploitlibpq falls back to service account credential cache
-
ExecutionAuthenticate as service Kerberos principal
-
ImpactAccess database as service account identity
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 a pgAdmin 4 server-mode (multi-user web) deployment and an authenticated pgAdmin user (PR:L). The OS account running pgAdmin must possess usable Kerberos credentials - a default credential cache, a client keytab, or (on Windows) an SSPI logon - and the target PostgreSQL server must offer/request GSSAPI or SSPI authentication; gssproxy environments are also affected. Exploitation lets any user connect as the service account's Kerberos principal regardless of the username entered. Limiting factors: the flaw does not apply to single-user desktop mode, and it is gated on the service account actually having Kerberos credentials present and a server requesting GSSAPI/SSPI (hence AC:H/AT:P). Important caveat for defenders: setting gssencmode=disable did NOT block the fallback, and the require_auth-based refusal in the fix only works with libpq 16 or later - older libpq retains only the KRB5CCNAME/KRB5_CLIENT_KTNAME isolation, which does not cover Windows SSPI or gssproxy. Complete remediation is upgrading to pgAdmin 4 9.19. |
| Impact | This is a credential-misuse/authentication-bypass flaw (CWE-522) in pgAdmin 4 server mode, scored 7.1 by the supplied CVSS 4.0 vector (AV:N/AC:H/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/SI:H/SA:N). The signals are internally consistent and point to a real but conditional priority rather than a drop-everything emergency. Attack vector is network and impact is high on the subsequent system (the PostgreSQL server: SC:H/SI:H), which is why it rates above 7, but PR:L means the attacker must already be an authenticated pgAdmin user, and AC:H/AT:P reflect that exploitation depends on conditions outside the attacker's control - the OS account running pgAdmin must actually hold usable Kerberos credentials (a default credential cache, client keytab, or Windows SSPI logon) and the target server must request GSSAPI/SSPI. The vendor priority label is 'this_week'. There is no CISA KEV entry and no EPSS probability was supplied, so widespread automated exploitation is not evidenced; the only references are the fix commit and the issue tracker, i.e. no public exploit identified at time of analysis. A notable detail that raises concern is that the pre-fix mitigation operators might expect - gssencmode=disable - did NOT prevent the fallback, so defenders cannot assume disabling GSSAPI encryption closed the hole. Net: a genuine privilege/identity escalation worth patching promptly in multi-user Kerberos deployments, but gated by server mode and the presence of service-account Kerberos credentials rather than a universal remote-unauthenticated risk. |
| Exploit ScenarioDerived | In a multi-user pgAdmin server-mode deployment, a logged-in pgAdmin user defines a connection to a PostgreSQL server that requests GSSAPI (or SSPI on Windows) authentication, supplying any username. Because pgAdmin stripped KRB5CCNAME from the environment, libpq falls back to the default credential cache / client keytab (or Windows logon) of the OS account running pgAdmin and authenticates as that service account's Kerberos principal, granting the user database access as the service identity regardless of the name they entered. No public exploit identified at time of analysis; exploitation is conditional (AC:H/AT:P) on the service account's Kerberos credentials being present. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 30, 2026
Kerberos credential misuse in pgAdmin 4 server mode (before 9.19) lets any authenticated pgAdmin web user connect to a PostgreSQL server using the Kerberos principal of the operating-system account that runs pgAdmin, regardless of the user name they supply and even with gssencmode=disable set. The problem requires a multi-user server-mode deployment where the pgAdmin service account holds usable Kerberos credentials (a default credential cache, a client keytab, or on Windows an SSPI logon) and the target server requests GSSAPI or SSPI authentication, which is why severity is tempered by high attack complexity and a race-like prerequisite of credential availability; Windows SSPI and gssproxy paths are also affected. No public exploit code has been identified at time of analysis and there is no CISA KEV listing; the vendor fix is pgAdmin 4 9.19, and full enforcement of the refusal logic requires libpq 16 or later.
RemediationAI
Upgrade pgAdmin 4 to 9.19 or later (vendor-released patch; see https://github.com/pgadmin-org/pgadmin4/issues/10655 and commit https://github.com/pgadmin-org/pgadmin4/commit/145e511f05eed69ebcadd3cd61ffea0a5b4c69a4). Because the fix's require_auth=!gss,!sspi refusal only takes effect with libpq 16 or later (and gssencmode with libpq 12 or later), confirm the bundled or system libpq version after upgrading, otherwise only the KRB5CCNAME/KRB5_CLIENT_KTNAME isolation applies and Windows SSPI and gssproxy paths remain reachable. For psql and utilities the equivalent protections are the PGREQUIREAUTH, PGGSSENCMODE and PGGSSLIB environment variables, which an older libpq ignores silently. Administrators who list connection service files in SERVER_MODE_ALLOWED_SERVICES should not set require_auth, gssencmode or gsslib in those entries, since a service file's settings take precedence over the environment variables for psql and the utilities and can re-enable Windows SSPI or gssproxy for them. Where upgrading is not immediately possible, the compensating option stated in the advisory is to remove usable Kerberos credentials (default ccache, client keytab, SSPI logon) from the pgAdmin service account and to avoid pointing pgAdmin at PostgreSQL servers that request GSSAPI or SSPI, noting that gssencmode=disable is not an effective workaround.
Affected VersionsENISA
Affected Packages
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
The root cause is CWE-522 (insufficiently protected credentials) in how pgAdmin 4 manages the environment handed to libpq. When a connection was not supposed to use a Kerberos-login user's delegated credentials, pgAdmin removed KRB5CCNAME from the process environment rather than pointing it somewhere inert. With the variable unset, the Kerberos library falls back to the default credential cache, or a client keytab, of the OS account running pgAdmin, and libpq answers any server that requests GSSAPI authentication with that account's ticket irrespective of the user name typed into the connection dialog. On Windows the same effect occurs through SSPI, which uses the logon of the account pgAdmin runs as, and gssproxy is affected because environment variables do not constrain it. The upstream commit 145e511 addresses this by directing KRB5CCNAME and KRB5_CLIENT_KTNAME at a path that cannot exist except while a Kerberos-authenticated user is genuinely connecting, and by stamping every other connection, plus psql and the bundled utilities, with require_auth=!gss,!sspi and gssencmode=disable, validated against the final connection string; for Kerberos-enabled servers used by Kerberos-login users it forces gsslib=gssapi so libpq uses the delegated cache instead of SSPI. The require_auth refusal needs libpq 16 or later, gssencmode needs libpq 12 or later, and with an older libpq only the KRB5CCNAME/KRB5_CLIENT_KTNAME isolation applies, which does not cover Windows SSPI or gssproxy.
Know when Pgadmin 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
CVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/SI:H/SA:N
Authenticated pgAdmin user (PR:L); success depends on service-account Kerberos credentials being present (AC:H); impersonating the service principal on a separate PostgreSQL server is a scope change (S:C) with high confidentiality and integrity, no availability impact.
Primary rating from Vendor (f86ef6dc-4d3a-42ad-8f28-e6d5547a5007).
CVSS VectorVendor: f86ef6dc-4d3a-42ad-8f28-e6d5547a5007
Lifecycle Timeline
2DescriptionCVE.org
When a pgAdmin 4 connection was not meant to use a Kerberos user's delegated credentials, pgAdmin removed KRB5CCNAME from its environment, so the Kerberos library fell back to the default credential cache, or a client keytab, of the operating-system account running pgAdmin. libpq then answered any server that asked for GSSAPI authentication with that account's ticket, whatever user name the pgAdmin user gave, so in server mode any user could connect as the service account's Kerberos principal; gssencmode=disable did not prevent it. On Windows, SSPI used the service account's logon in the same way. psql was also started with pgAdmin's environment, which could hold another user's credential cache while that user was connecting.
The fix points KRB5CCNAME and KRB5_CLIENT_KTNAME at a file that cannot exist except while a Kerberos-authenticated user connects with Kerberos, and gives every other connection, psql and the utilities require_auth=!gss,!sspi and gssencmode=disable, checked on the final connection string. require_auth needs libpq 16 or later.
This issue affects pgAdmin 4: before 9.19.
Executive ViewAI
A high-severity vulnerability in pgAdmin 4 server mode (versions before 9.19) allows any authenticated web user to impersonate the pgAdmin service account's Kerberos identity when connecting to PostgreSQL servers. This undermines separation of duties and can lead to unauthorized database access, potentially exposing sensitive data to internal users with low privileges. Leadership should prioritize remediation because the affected component is commonly used for database administration and the flaw enables privilege escalation within the database infrastructure.
Apply vendor patch.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
pgAdmin 4 contains critical remote code execution vulnerabilities in the Query Tool download and Cloud Deployment endpoi
pgAdmin <= 8.3 is affected by a path-traversal vulnerability while deserializing users’ sessions in the session handling
pgAdmin <= 8.4 is affected by a Remote Code Execution (RCE) vulnerability through the validate binary path API. Rated cr
The pgAdmin server includes an HTTP API that is intended to be used to validate the path a user selects to external Post
pgAdmin versions 8.11 and earlier are vulnerable to a security flaw in OAuth2 authentication. Rated medium severity (CVS
Remote code execution in pgAdmin 4 (versions up to and including 9.9) lets an attacker who can get a crafted PLAIN-forma
SQL injection sandbox escape in pgAdmin 4's AI Assistant (versions 9.13 through 9.16) lets an attacker break out of the
OS command injection in pgAdmin 4 (all versions before 9.18) lets an authenticated user with the commonly-granted tools_
Command injection in pgAdmin 4 before 9.19 lets an authenticated, low-privileged database user execute arbitrary operati
pgAdmin <= 8.5 is affected by XSS vulnerability in /settings/store API response json payload. Rated medium severity (CVS
Cross-tenant credential theft in pgAdmin 4 (9.0 through 9.16) lets an authenticated non-owner user hijack another user's
pgAdmin <= 9.1 is affected by a security vulnerability with Cross-Site Scripting(XSS). Rated critical severity (CVSS 9.1
EUVD-2026-114385
GHSA-5539-rjhp-jvgv
NVD
CVE.org
EPSS
Exploit-DB