---
id: CVE-2026-116242
title: 'pgAdmin 4: SSH tunnels use the pgAdmin service account''s own SSH identity'
summary: >-
  pgAdmin 4 opens SSH tunnels with the sshtunnel library but gave it neither
  host_pkey_directories nor ssh_config_file, so it always loaded the unencrypted
  private keys in ~/.ssh of the operating-system account running pgAdmin, read
  that a…
severity: high
cvss: 8.2
cvssVector: 'CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:N'
cvssSource: cna
cwe:
  - CWE-522
  - CWE-1188
vendor: pgadmin.org
product: pgAdmin 4
affected:
  - pgadmin_4 < 9.19
published: '2026-10-30'
updated: '2026-10-30'
sourceUpdated: '2026-10-30T19:55:13.843Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-116242'
references:
  - url: 'https://github.com/pgadmin-org/pgadmin4/issues/10662'
  - url: >-
      https://github.com/pgadmin-org/pgadmin4/commit/d52fe4740eb1af89d940f2e412bd66a0a89f08bb
tags:
  - cve.org
epss: 0.00232
epssPercentile: 0.14166
ingestedAt: '2026-11-05T16:24:31.426Z'
---

## Overview

pgAdmin 4 opens SSH tunnels with the sshtunnel library but gave it neither host_pkey_directories nor ssh_config_file, so it always loaded the unencrypted private keys in ~/.ssh of the operating-system account running pgAdmin, read that account's ~/.ssh/config (IdentityFile, User, HostName, ProxyCommand) for the tunnel host, and could use its ssh-agent. In server mode any user could therefore configure a tunnel to a host that accepts the service account's key, with no credentials of their own or with an identity file that did not exist in their storage, and reach it as that account.

The fix makes tunnels in server mode use only the identity file or password the user configured: the service account's keys, configuration and agent are no longer used, and an identity file that cannot be found in the user's storage is reported instead of falling back to ~/.ssh. Desktop mode is unchanged.

This issue affects pgAdmin 4: before 9.19.

## Affected

- `pgadmin_4 < 9.19`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
