{"id":"CVE-2026-116247","kind":"vulnerability","aliases":["CVE-2026-116247"],"related":[],"title":"pgAdmin 4: missing connection files let server-mode users reach the service account's database","description":"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.\n\nThe 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.\n\nThis issue affects pgAdmin 4: before 9.19.","summary":"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.","severity":"high","cvss":8.2,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["package","pgadmin","postgresql","server-mode"],"not_affected_if":["desktop-mode","no-pgpass-or-client-certs","single-user"],"how_to_check":"- Check the pgAdmin 4 version with `pgadmin4 --version` or the About dialog; affected versions are before `9.19`.\n- Confirm whether pgAdmin runs in server mode (multi-user deployment) rather than desktop mode.\n- 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.","status":"open","published_at":"2026-10-30T20:17:04+00:00","first_seen_at":"2026-10-30T20:25:37+00:00","triaged_at":"2026-10-30T20:26:23+00:00","updated_at":"2026-10-30T20:26:23+00:00","category":"package","confidence":0.8,"triage":{"at":"2026-10-30T20:26:23Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade pgAdmin 4 to `9.19` or later.","reach":"network","title":"pgAdmin 4: missing connection files let server-mode users reach the service account's database","impact":"high","summary":"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.","audience":"businesses","category":"package","nicknames":[],"who_cares":["pgadmin","postgresql","server-mode"],"confidence":0.8,"fix_status":"available","needs_auth":"yes","worst_case":"Other users reach the database with the service account's saved credentials.","analyst_note":"","how_to_check":"- Check the pgAdmin 4 version with `pgadmin4 --version` or the About dialog; affected versions are before `9.19`.\n- Confirm whether pgAdmin runs in server mode (multi-user deployment) rather than desktop mode.\n- Look for `~/.pgpass`, `~/.postgresql/postgresql.crt` and `postgresql.key` in the home directory of the account running pgAdmin.","plain_action":"","needs_analyst":false,"not_affected_if":["desktop-mode","no-pgpass-or-client-certs","single-user"],"who_is_affected":"Only pgAdmin 4 deployments running in server mode are exposed, where multiple users share one pgAdmin instance. Exposure depends on the service account running pgAdmin having a password file or client certificate in its home directory, or a pg_service.conf entry. Desktop mode is unchanged according to the sources.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"high"},"cost_usd":0.00075,"input_tokens":4380,"output_tokens":624,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-116247':19A,22A '-2026':18A,21A '/.pgpass':132C '/.postgresql/postgresql.crt':133C '4':2A,32B,90C,266C '9.19':268C 'account':14A,49B,68B,129C,155C,181C 'affect':264C 'back':45B,120C,206C 'bring':202C 'certif':40B,74B,80B,96C,161C,170C 'client':39B,73B,95C,98C,160C 'configur':100C,103C 'connect':4A,64B,116C,148C,196C,238C,250C 'copi':78B,166C 'could':62B,105C,146C,201C 'cve':17A,20A 'databas':16A,191C 'dbname':249C 'default':51B,123C 'desktop':258C 'dumpal':200C 'enough':172C 'entri':34B,187C,257C 'environ':242C 'fell':44B,119C 'file':5A,38B,52B,94C,205C,226C 'fix':211C 'found':108C 'give':212C 'host':55B 'issu':263C 'key':42B,84B,99C,184C 'lack':35B 'left':110C 'let':6A 'libpq':43B,118C,174C 'mainten':190C 'miss':3A 'mode':9A,28B,58B,143C,221C,259C 'name':192C 'never':233C 'one':104C 'open':235C 'oper':127C 'operating-system':126C 'otherwis':228C 'packag':23B 'pair':76B,176C 'paramet':112C,216C 'password':37B,71B,93C,158C 'path':230C 'pg':199C 'pg_service.conf':186C 'pgadmin':1A,24B,31B,60B,89C,109C,131C,265C 'pgpassfil':137C 'pgsslcert':138C 'pgsslkey':140C 'postgresql':25B 'postgresql.key':135C 'privat':83B,183C 'public':79B,169C 'rank':253C 'reach':11A 'read':193C 'run':130C 'save':70B,157C 'server':8A,27B,33B,57B,87C,142C,151C,220C 'server-mod':7A,26B 'servic':13A,48B,67B,154C,180C,256C 'string':197C,239C,251C 'suppli':163C 'system':128C 'therefor':147C 'unchang':261C 'use':65B 'user':10A,61B,145C,223C 'util':209C,245C 'valu':218C","nicknames":[],"mitigations":[],"who_affected":"Only pgAdmin 4 deployments running in server mode are exposed, where multiple users share one pgAdmin instance. Exposure depends on the service account running pgAdmin having a password file or client certificate in its home directory, or a pg_service.conf entry. Desktop mode is unchanged according to the sources.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"first_public_at":"2026-10-30T20:17:04+00:00","kev":null,"cvss_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/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:X","cvss_by":"f86ef6dc-4d3a-42ad-8f28-e6d5547a5007","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-116247","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-116247","severity":null,"published_at":"2026-10-30T20:17:04+00:00","modified_at":"2026-10-30T20:17:04+00:00","first_seen_at":"2026-10-30T20:25:37+00:00","fetched_at":"2026-10-30T20:25:37+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}