CVE-2026-116242
WysokieCVSS 8.2Streszczenie
W pgAdmin 4 w trybie serwera biblioteka sshtunnel zawsze ładowała niezaszyfrowane klucze prywatne z ~/.ssh konta systemowego i czytała jego konfigurację SSH, umożliwiając każdemu użytkownikowi skonfigurowanie tunelu z użyciem tożsamości konta usługi. Podatność dotyczy wersji przed 9.19.
Ocena ryzyka
Użytkownik może uzyskać dostęp do hostów zdalnych jako konto usługi bez własnych poświadczeń, co narusza poufność i integralność połączeń SSH.
Rekomendacja
Zaktualizuj pgAdmin 4 do wersji 9.19 lub nowszej, która w trybie serwera używa tylko pliku tożsamości lub hasła skonfigurowanego przez użytkownika.
Inne podatności w pgAdmin 4
Zobacz wszystkie- CVE-2026-116252Średnie
W pgAdmin 4 odświeżanie widoku zmaterializowanego przekazywało nazwę bazy danych do argumentu --dbname programu psql bez zmian. libpq traktuje wartość zawierającą "=" lub URI postgresql:// jako pełny ciąg połączenia, co pozwalało przekierować połączenie na wybrany host i port oraz ujawnić zapisane hasło serwera.
- CVE-2026-116251Średnie
W pgAdmin 4 zmiana hasła użytkownika (przez niego samego lub administratora) nie unieważniała istniejących sesji. Sesja ustanowiona przed zmianą, np. na innym urządzeniu lub przez osobę znającą stare hasło, pozostawała zalogowana aż do wygaśnięcia.
- CVE-2026-116250Średnie
W trybie serwera pgAdmin 4 sprawdzał uprawnienia do pliku w katalogu przechowywania za pomocą check_access_permission(), a następnie otwierał plik po nazwie zwykłym open() lub przekazywał ścieżkę narzędziom (pg_dump, pg_dumpall, pg_restore, psql) oraz funkcjom eksportu/importu servers.json. Podmiana dowiązania symbolicznego lub twardego albo FIFO między sprawdzeniem a otwarciem pozwalała wyjść poza katalog przechowywania i zapisać, nadpisać lub odczytać plik, albo załadować go do tabeli, z uprawnieniami konta systemowego pgAdmin. Luka dotyczy wersji pgAdmin 4 przed 9.19.
- CVE-2026-116249Wysokie
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ść.
- CVE-2026-116248Średnie
W pgAdmin 4 w trybie serwera punkty końcowe API serwera przechowywały flagę "shared" i nazwę użytkownika, pozwalając każdemu użytkownikowi mogącemu zarejestrować serwer na udostępnienie go wszystkim. Import servers.json miał podobną lukę, ponieważ wpisy "Shared" nieadministratora usuwano dopiero po walidacji.
- CVE-2026-116247Wysokie
W pgAdmin 4 przed wersją 9.19, gdy serwer nie miał skonfigurowanego pliku haseł, certyfikatu klienta lub klucza klienta albo wskazany plik nie istniał, pgAdmin pomijał parametr w połączeniu, a libpq używał domyślnych plików konta systemowego uruchamiającego pgAdmin. W trybie serwera każdy użytkownik mógł więc łączyć się z serwerem przy użyciu zapisanych haseł lub certyfikatu konta usługi.
- CVE-2026-116246Średnie
W pgAdmin 4 hasło serwera było zapisywane w środowisku procesu pgAdmin (jako PGPASSWORD dla narzędzia PSQL oraz pod zmienną per-proces dla narzędzia) i nigdy nie usuwane. W trybie serwera środowisko jest współdzielone przez żądania wszystkich użytkowników i kopiowane do uruchamianych procesów, więc inny użytkownik mógł odziedziczyć hasło i użyć go do połączenia.
- CVE-2026-116245Wysokie
W pgAdmin 4 w trybie serwera libpq wyszukuje usługi połączeń w pliku usług konta systemowego, co pozwala użytkownikom na użycie poświadczeń lub plików certyfikatów tego konta. Podatność dotyczy wersji przed 9.19 i może prowadzić do nieautoryzowanego dostępu do serwerów baz danych.
- CVE-2026-116244Wysokie
W pgAdmin 4 w trybie serwera usunięcie KRB5CCNAME powodowało, że biblioteka Kerberos używała domyślnego cache poświadczeń konta systemowego, umożliwiając każdemu użytkownikowi połączenie jako principal usługi. Podatność dotyczy wersji przed 9.19 i obejmuje również obejście gssencmode=disable oraz zachowanie SSPI w Windows.
- CVE-2026-116243Wysokie
W pgAdmin 4 w trybie serwera ścieżka binarna ustawiona przez użytkownika nie była weryfikowana względem katalogów SHARED_STORAGE, co pozwalało na przesłanie pliku wykonywalnego i uruchomienie go jako konto systemowe pgAdmin. Podatność jest szczególnie istotna w Windows, gdzie pliki mogą być wykonywalne, i dotyczy wersji przed 9.19.
Oryginalny opis (angielski, źródło NVD)
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 (IdentityFile, User, HostName, ProxyCommand) for the tunnel host, and could use its ssh-agent. In server mode any user could therefore configure a tunnel to a host that accepts the service account's key, with no credentials of their own or with an identity file that did not exist in their storage, and reach it as that account. The fix makes tunnels in server mode use only the identity file or password the user configured: the service account's keys, configuration and agent are no longer used, and an identity file that cannot be found in the user's storage is reported instead of falling back to ~/.ssh. Desktop mode is unchanged. This issue affects pgAdmin 4: before 9.19.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

