pgAdmin 4: Connection services are not restricted in server mode
pgAdmin 4 versions before 9.19 are affected in server mode. The fix is in pgAdmin 4 9.19.
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- How many real-world setups can hit the bug, from the vendor's advisory and CISA data. It does not know your setup.What do these mean? →
- Specific setups only
- Fix
- Fixed in 9.19
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
pgAdmin 4, the web-based administration tool for PostgreSQL, is affected when running in server mode. Any user of the deployed instance could abuse connection service entries or environment settings on the host to connect using credentials they should not have access to.
Summarized by anthropic/claude-haiku-5.5. Verify details against the original sources.
Read the original description
libpq looks a connection service up in the service file of the operating-system account running pgAdmin 4, and an entry there can hold a password or name a password file or client certificate. In server mode any user could set a server's Service, or a "service" connection parameter, to one of those entries and connect with its credentials. A PGPASSWORD or PGSERVICE variable set for that account was likewise used by libpq for every connection without a value of its own and passed on to the utilities, and pg_dumpall read a maintenance database name such as "service=..." as a connection string. The fix adds the SERVER_MODE_ALLOWED_SERVICES setting, empty by default: in server mode only a listed service can be used, the servicefile parameter is refused, and PGPASSWORD and PGSERVICE are removed from pgAdmin's environment at startup. The allowlist is checked again on the final connection string, and the pg_dumpall database name is wrapped as a connection string. This issue affects pgAdmin 4: before 9.19.
Timeline
- CVE published
- First seen by cve.now
Affected versions
- pgadmin.org pgAdmin 4
fixed in 9.19
References 2
GitHub · pgadmin-org/pgadmin4
Questions about CVE-2026-116245
What should I do about it?
Upgrade to pgAdmin 4 9.19 or later, the version that contains the fix. No workaround is listed for this issue.Source: github.com
Is it being exploited?
It is not in CISA's Known Exploited Vulnerabilities catalog, and CISA's SSVC assessment does not mark exploitation as active. That does not mean it has not been attacked: vendors and researchers can report attacks before CISA lists them. No public exploit code is tracked.Source: cve.now feed data