---
id: "CVE-2026-116244"
kind: "vulnerability"
aliases: ["CVE-2026-116244"]
title: "pgAdmin 4: Kerberos credentials leak lets any user connect as service account"
severity: "high"
cvss: 8.2
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["kerberos", "package", "pgadmin", "postgresql", "self-hosted", "windows"]
not_affected_if: ["desktop-only", "no-gssapi", "no-kerberos"]
published_at: "2026-10-30T20:17:04+00:00"
first_seen_at: "2026-10-30T20:25:37+00:00"
updated_at: "2026-10-30T20:26:26+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-116244", "first_seen_at": "2026-10-30T20:25:37+00:00"}]
---

# pgAdmin 4: Kerberos credentials leak lets any user connect as service account

When Kerberos delegation was not intended, pgAdmin dropped KRB5CCNAME, so libpq used the operating-system service account's default Kerberos ticket or keytab. In server mode, any pgAdmin user can then authenticate to a GSSAPI-enabled database server as that service account's principal, regardless of the user name given.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Check the installed pgAdmin 4 version; the sources say versions before `9.19` are affected.
- Check whether pgAdmin runs in server mode with Kerberos or GSSAPI connections configured, as the sources describe this as the affected path.
- On Windows, the sources also describe SSPI using the service account logon; check that setup as well.

## Fix

- pgAdmin 4: move to `9.19` or later.
- libpq 16 or later is needed for the `require_auth` setting the fix uses.

## Timeline

- 2026-10-30T20:25:37+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-116244

## From the sources

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.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
