---
id: "CVE-2026-116247"
kind: "vulnerability"
aliases: ["CVE-2026-116247"]
title: "pgAdmin 4: missing connection files let server-mode users reach the service account's database"
severity: "high"
cvss: 8.2
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["package", "pgadmin", "postgresql", "server-mode"]
not_affected_if: ["desktop-mode", "no-pgpass-or-client-certs", "single-user"]
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:23+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-116247", "first_seen_at": "2026-10-30T20:25:37+00:00"}]
---

# pgAdmin 4: missing connection files let server-mode users reach the service account's database

When a pgAdmin 4 server entry lacked a password file, client certificate or key, libpq fell back to the service account's default files on the host. In server mode, any pgAdmin user could then connect using the service account's saved passwords or client certificate, or pair a copied public certificate with its private key.

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

## How to check

- Check the pgAdmin 4 version with `pgadmin4 --version` or the About dialog; affected versions are before `9.19`.
- Confirm whether pgAdmin runs in server mode (multi-user deployment) rather than desktop mode.
- Look for `~/.pgpass`, `~/.postgresql/postgresql.crt` and `postgresql.key` in the home directory of the account running pgAdmin.

## Fix

- Upgrade pgAdmin 4 to `9.19` or later.

## Timeline

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

## From the sources

When a server in pgAdmin 4 had no password file, client certificate or client key configured, or the configured one could not be found, pgAdmin left the parameter out of the connection and libpq fell back to the defaults of the operating-system account running pgAdmin: ~/.pgpass, ~/.postgresql/postgresql.crt and postgresql.key, or PGPASSFILE, PGSSLCERT and PGSSLKEY. In server mode any user could therefore connect to a server with the service account's saved passwords or client certificate, and supplying only a copy of its public certificate was enough for libpq to pair it with the service account's private key. A pg_service.conf entry, or a maintenance database name read as a connection string by pg_dumpall, could bring the same files back for the utilities.

The fix gives each of these parameters a value in server mode, the user's own file or otherwise a path that can never be opened, in the connection string, in the environment of the utilities and in the --dbname connection string that ranks above a service entry. Desktop mode is unchanged.

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_
