Katalog CVE

CVE-2026-116249

WysokieCVSS 8.4
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

W trybie serwera pgAdmin 4 przed wersją 9.19 funkcja get_complete_file_path() usuwała tylko wiodące ukośniki przed połączeniem ścieżki, więc ścieżka typu ../<inny użytkownik>/.pgpass mogła wskazać plik innego użytkownika. Parametr sslkeylogfile był przekazywany do libpq bez zmian, a make_conninfo() nie cytowało nazw parametrów, co pozwalało przemycić dodatkowe pary klucz=wartość.

Ocena ryzyka

Użytkownik trybu serwera może użyć zapisanych haseł, certyfikatu klienta lub klucza SSH innego użytkownika, a także spowodować utworzenie lub dopisanie pliku jako konto usługi pgAdmin. Może to prowadzić do nieautoryzowanego dostępu do serwerów baz danych.

Rekomendacja

Zaktualizuj pgAdmin 4 do wersji 9.19 lub nowszej. Do czasu aktualizacji ogranicz dostęp do trybu serwera i kontroluj zawartość plików servers.json oraz konfiguracji serwerów.

Inne podatności w pgAdmin 4

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

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 "../<another user>/.pgpass", set through the server dialog, the REST API or a servers.json import, therefore named another user's file, and connecting used that user's saved passwords, client certificate or SSH key. The sslkeylogfile connection parameter was passed to libpq unchanged, so a path outside storage let libpq create or append a file as the account running pgAdmin. make_conninfo() also quoted connection parameter values but not their names, so a crafted parameter name could smuggle additional keyword=value pairs past these checks. The fix requires the resolved path, with symbolic links followed, to stay inside the user's storage directory or the named shared storage directory, confines sslkeylogfile the same way, and accepts only exact libpq keywords as connection parameter names. A refused path or keyword is reported instead of letting libpq fall back to a default. This issue affects pgAdmin 4: before 9.19.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS