Skip to content
OpenAdvisories
High WID-SEC-2026-4242 15 CVEs

pgAdmin: Mehrere Schwachstellen

Published Oct 29, 2026 · Updated Nov 1, 2026 · Revision 2 · de-DE

Summary

Ein Angreifer kann mehrere Schwachstellen in pgAdmin ausnutzen, um erweiterte Berechtigungen, möglicherweise sogar Administratorrechte, zu erlangen, um beliebigen Code auszuführen, Sicherheitsmaßnahmen zu umgehen, Daten zu manipulieren und offenzulegen oder Denial-of-Service-Angriffe zu starten.

Product

pgAdmin ist eine Verwaltungs- und Entwicklungsplattform für die PostgreSQL-Datenbank.

Vulnerabilities 15

  • Critical 9.9

    pgAdmin 4: Import/Export Data query export runs a command through a backslash in a double-quoted identifier

    pgAdmin 4's Import/Export Data tool wraps a user's query export in a psql \copy (...) TO command and checks that the query's parentheses are balanced so that nothing can escape the wrapper. The check rejected a backslash inside a single-quoted string, but not…

  • High 8.5

    pgAdmin 4: An LDAP or Kerberos login is logged in to another account with the same username

    In server mode pgAdmin 4 keeps an account per authentication source, so the same username can exist as, for example, an internal account and an LDAP account. After LDAP or Kerberos authenticated a user, pgAdmin chose the account to log in by username alone, o…

  • High 8.4

    pgAdmin 4: Connection file paths and parameter keys escape the user's storage directory

    In server mode pgAdmin 4 resolves a server's password file, SSL certificate, key, CRL and SSH tunnel identity file relative to the user's storage directory, but get_complete_file_path() only stripped leading slashes before joining the two. A path such as "../…

  • High 8.2

    pgAdmin 4: SSH tunnels use the pgAdmin service account's own SSH identity

    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…

  • High 8.2
    CVE-2026-116244 Public exploit

    pgAdmin 4: libpq uses the pgAdmin service account's Kerberos credentials

    When a pgAdmin 4 connection was not meant to use a Kerberos user's delegated credentials, pgAdmin removed KRB5CCNAME from its environment, so the Kerberos library fell back to the default credential cache, or a client keytab, of the operating-system account r…

  • High 8.2

    pgAdmin 4: Connection services are not restricted in server mode

    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 "servic…

  • High 8.2

    pgAdmin 4: libpq uses the pgAdmin service account's own password file and client certificate

    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 runnin…

  • High 8.1

    pgAdmin 4: The failed login limit can be bypassed, and Flask-Security's own views skip pgAdmin's login and password checks

    In server mode pgAdmin 4 locks an internal account after MAX_LOGIN_ATTEMPTS failed logins (3 by default). The limit could be bypassed, giving an unauthenticated attacker an unlimited number of password guesses against any internal account, including the admin…

  • High 7.5

    pgAdmin 4: Utility binary path can point at a shared storage directory

    pgAdmin 4 runs pg_dump, pg_restore, pg_dumpall and psql from the binary path a user sets in their preferences. In server mode the binary path was refused only when it lay under the per-user storage directory (STORAGE_DIR), not under a SHARED_STORAGE directory…

  • Medium 6.8

    pgAdmin 4: Non-administrators can share a server with every user

    In pgAdmin 4 server mode only administrators are meant to share a server with all users; the server dialog shows the Shared switch only to them. The create and update endpoints of the server API, however, stored the "shared" flag and shared username they were…

  • Medium 6.5

    pgAdmin 4: File Manager and storage-path tools act on a different path from the one checked

    In server mode pgAdmin 4 validates a path into the user's storage directory with check_access_permission(), which builds the absolute path with get_abs_path(). Several callers then acted on a path they built differently, so the path checked and the path used …

  • Medium 6.5

    pgAdmin 4: Server passwords are left in pgAdmin's process environment

    To pass a server's password to psql and to the utilities pgAdmin 4 runs as background processes, the server manager wrote it into pgAdmin's own process environment: as PGPASSWORD for the PSQL tool, and under a per-process variable for a utility. Nothing remov…

  • Medium 6.5

    pgAdmin 4: Files opened in a storage directory follow a symbolic link, hard link or FIFO planted after the containment check

    In server mode pgAdmin 4 validates a path a user gives for a file in their storage directory with check_access_permission() and then opened it by name. Several places opened it with a plain open() or handed the path to a utility that opened it later: the serv…

  • Medium 6.5

    pgAdmin 4: Materialized view refresh redirects its connection through a crafted database name

    pgAdmin 4's materialized view refresh passed the target database's name to psql's --dbname argument unchanged. libpq treats a --dbname value containing "=" (or a postgresql:// URI) as a full connection string, whose keywords override the host, port and other …

  • Medium 4.2

    pgAdmin 4: A user's other sessions survive a change of their password

    pgAdmin 4 did not invalidate a user's existing sessions when their password changed, either through the user's own change password dialog or through an administrator resetting it in User Management. A session established before the change, for example on anot…

Revision history

  1. #2

    Referenz(en) aufgenommen: EUVD-2026-114393, EUVD-2026-114382, EUVD-2026-114392, EUVD-2026-114390, EUVD-2026-114389, EUVD-2026-114388, EUVD-2026-114387, EUVD-2026-114386, EUVD-2026-114384, EUVD-2026-114383, EUVD-2026-114381, EUVD-2026-114380, EUVD-2026-114379, EUVD-2026-114385, EUVD-2026-114391

  2. #1

    Initiale Fassung

References