Description
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.
Published: 2026-10-30
Score: 7.1 High
EPSS: n/a
KEV: No
Impact: Authentication Bypass
Action: Apply Patch
AI Analysis

Impact

A flaw in pgAdmin 4 causes the client library libpq to fall back to the operating‑system account’s Kerberos credential cache when Kerberos authentication is not intended. As a result, any user can establish a PostgreSQL connection that presents the service account’s Kerberos principal, bypassing the intended user name. This leads to unauthorized authentication and the ability to act with higher privileges. The weakness is a form of privilege escalation (CWE‑1188) and can expose credential information (CWE‑522).

Affected Systems

The vulnerability exists in pgAdmin 4 versions prior to 9.19. It affects installations on both Windows and Unix‑like systems where pgAdmin runs under a service account that may possess Kerberos credentials. The issue also applies when utilities such as psql are invoked from pgAdmin’s environment.

Risk and Exploitability

The CVSS base score is 7.1, indicating a high severity. The EPSS score is not available, so the current probability of exploitation is unknown, and the vulnerability is not listed in CISA’s KEV catalog. The attack can be carried out by a local user who can execute pgAdmin or its utilities; the attacker need only have permission to run the program on a host that possesses or can obtain the service account’s Kerberos cache. Once executed, the fallback mechanism delivers the cached ticket to any PostgreSQL server that requests GSSAPI authentication, allowing the attacker to authenticate as the privileged service account. Because the library is unaware of the intended authentication method, this bypass can occur even when gssencmode=disable is set, making the exploit reliable under the described conditions.

Generated by OpenCVE AI on October 30, 2026 at 21:47 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Update pgAdmin 4 to version 9.19 or later, which fixes the KRB5CCNAME and KRB5_CLIENT_KTNAME handling and enforces require_auth=!gss,!sspi and gssencmode=disable on the final connection string.
  • Upgrade the libpq client library to version 16 or newer; the enforcement of require_auth requires this minimum library version.
  • Configure PostgreSQL connections to explicitly require non‑GSSAPI authentication (e.g., set require_auth=!gss,!sspi in connection strings) and disable gssencmode to prevent any inadvertent use of Kerberos tickets.
  • Ensure that environment variables such as KRB5CCNAME and KRB5_CLIENT_KTNAME are cleared or unset before launching pgAdmin or any PostgreSQL client utilities that may use the libpq library.

Generated by OpenCVE AI on October 30, 2026 at 21:47 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 30 Oct 2026 22:00:00 +0000

Type Values Removed Values Added
First Time appeared Pgadmin
Pgadmin pgadmin 4
Vendors & Products Pgadmin
Pgadmin pgadmin 4

Fri, 30 Oct 2026 20:15:00 +0000

Type Values Removed Values Added
Description 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.
Title pgAdmin 4: libpq uses the pgAdmin service account's Kerberos credentials
Weaknesses CWE-1188
CWE-522
References
Metrics cvssV3_1

{'score': 8.2, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:N'}

cvssV4_0

{'score': 7.1, 'vector': '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'}


Subscriptions

Pgadmin Pgadmin 4
cve-icon MITRE

Status: PUBLISHED

Assigner: PostgreSQL

Published:

Updated: 2026-10-30T19:55:15.101Z

Reserved: 2026-10-25T16:26:16.419Z

Link: CVE-2026-116244

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-30T20:17:04.327

Modified: 2026-10-30T20:17:04.327

Link: CVE-2026-116244

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-30T22:00:15Z

Weaknesses
  • CWE-1188

    Initialization of a Resource with an Insecure Default

  • CWE-522

    Insufficiently Protected Credentials