The pgAdmin Development Team is pleased to announce pgAdmin 4 version 9.19.

This release of pgAdmin 4 includes *136 bug fixes* *and new features*,
including *fixes for 15 security vulnerabilities* (CVE-2026-116238 through
CVE-2026-116252). For more details please see the release notes at:

https://www.pgadmin.org/docs/pgadmin4/9.19/release_notes_9_19.html

pgAdmin is the leading Open Source graphical management tool for
PostgreSQL. For more information, please see:

https://www.pgadmin.org/

Notable changes in this release include:

*Features:*

* Add a Statistics node for creating and managing extended statistics.
* Allow data to be edited through simple auto-updatable views in View/Edit
Data.
* Save Query Tool results as JSON or XML as well as CSV, with a selectable
encoding, an optional byte order mark, and a 'copy with headers' option.
* Add support for managing pg_timetable chains and tasks.
* Replace free-text Password Exec Commands in server mode with an
administrator-defined allowlist, SERVER_PASSEXEC_COMMANDS; the commands run
without a shell and with a reduced environment. Configure
SERVER_PASSEXEC_COMMANDS before the first start after upgrading (see the
release notes).
* Add pgEdge Starfleet to the Deploy Cloud Instance wizard, and allow the
login page to be skipped when OAuth2 is the only authentication source.

*Bugs/Housekeeping:*

* Fix OS command injection in the Import/Export Data tool, where a
query-based export could smuggle a live `TO PROGRAM` clause past the
`\copy` parenthesis guard through a backslash in a double-quoted identifier
and run an arbitrary command on the pgAdmin host; an incomplete fix for
CVE-2026-17566 (*CVE-2026-116241*).
* Fix LDAP and Kerberos authentication logging a user in to a different
account that shared their username, including the initial administrator (
*CVE-2026-116239*).
* Fix bypasses of the failed-login limit and of pgAdmin's own login,
password-change and password-reset checks, through Flask-Security's own
views and through username case and second-source handling (
*CVE-2026-116238*).
* Fix connection file paths and parameter keys escaping the user's storage
directory, which let a user connect with another user's credentials or key (
*CVE-2026-116249*).
* Stop libpq falling back to the pgAdmin service account's own password
file and client certificate in server mode (*CVE-2026-116247*).
* Restrict connection services in server mode to an administrator-defined
allowlist, SERVER_MODE_ALLOWED_SERVICES (*CVE-2026-116245*).
* Stop libpq using the pgAdmin service account's Kerberos credentials in
server mode (*CVE-2026-116244*).
* Stop SSH tunnels using the pgAdmin service account's own SSH identity in
server mode (*CVE-2026-116242*).
* Fix the utility binary-path guard accepting a path under SHARED_STORAGE,
which let a user have pgAdmin execute a file they placed there (
*CVE-2026-116243*).
* Stop server passwords being left in pgAdmin's own process environment,
where another user's session or utility could inherit them (
*CVE-2026-116246*).
* Fix any user able to register a server being able to share it with every
other user in server mode (*CVE-2026-116248*).
* Fix the File Manager and the storage-path tools acting on a different
path from the one that was checked (*CVE-2026-116240*).
* Fix time-of-check to time-of-use symlink, hard-link and FIFO races in the
File Manager, Import/Export Servers, Backup, Restore and Import/Export Data
file paths (*CVE-2026-116250*).
* Fix a user's other sessions surviving a password change or administrator
reset (*CVE-2026-116251*).
* Fix connection redirection in the materialized view refresh, where a
crafted database name was expanded by libpq into a full connection string (
*CVE-2026-116252*).
* Fix numerous Schema Diff issues, including SERIAL/BIGSERIAL conversions,
renamed function arguments, repeated column comments and identity options,
and false differences caused by a dropped column in a referenced table.
* Fix View/Edit Data not handling generated columns properly.
* Fix the MAINTAIN privilege being silently dropped for views and
materialised views on PostgreSQL 17 and later.
* Fix Kerberos login failures returning a JSON 500 response, and first-time
automatically created Kerberos logins being rejected.
* Fix the Query Tool saving files that were loaded as latin-1 or another
non-UTF-8 encoding back as UTF-8.
* Fix the Linux packages shipping a stray copy of Python, which stopped the
DEB package installing on Ubuntu 26.04.

Builds for Windows and macOS are available now, along with a Python Wheel,
Docker Container, RPM, DEB Package, and source code tarball from:
https://www.pgadmin.org/download/

--

Ashesh Vashi

pgAdmin Project

Reply via email to