Katalog CVE

CVE-2026-116240

ŚrednieCVSS 6.5
Opublikowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.26%

Percentyl 18 - wyżej niż 18% wszystkich znanych CVE

Streszczenie

W trybie serwera pgAdmin 4 występuje luka w walidacji ścieżek: funkcja check_access_permission() sprawdzała jedną ścieżkę, a wywołujący używali innej, co pozwalało na odczyt, zapis, usuwanie lub przenoszenie plików poza katalogiem przechowywania użytkownika. Dodatkowo podwójne dekodowanie ścieżek folderów i brak separatora przy łączeniu ścieżek umożliwiały dostęp do katalogów innych użytkowników lub całego systemu. Podatność dotyczy wersji pgAdmin 4 przed 9.19 i nie występuje w trybie desktop.

Ocena ryzyka

Uwierzytelniony użytkownik pgAdmin 4 w trybie serwera może odczytać, zmodyfikować lub usunąć pliki poza swoim katalogiem przechowywania, w tym pliki innych użytkowników lub systemowe, co może prowadzić do naruszenia poufności i integralności danych.

Rekomendacja

Zaktualizuj pgAdmin 4 do wersji 9.19 lub nowszej. Jeśli aktualizacja nie jest możliwa, ogranicz dostęp do trybu serwera i monitoruj nietypowe operacje na plikach.

Inne podatności w pgAdmin 4

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

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 could name different files: - Opening a file in the Query Tool, the Google client secret and, on Windows, Import/Export Data, Backup, Restore and saving a file joined the path to the storage directory after stripping leading slashes and backslashes. On POSIX a path checked as a name inside storage could become an absolute path once stripped, so any file the pgAdmin account can read could be opened; on Windows a path naming a drive discarded the storage directory, so these could read, or write, outside it. - Listing a folder decoded the path a second time after the check, so a folder named like an encoded "..", which a user can create, listed any directory on the host. - Download, delete, rename and the file-exists check appended the path to the storage directory without a separator, so in a deployment where one user's storage directory name is a prefix of another's, another user's files could be read, deleted or moved; download also checked the path appended to itself. - Creating a folder could create one in another user's directory. The fix makes check_access_permission() return the path it checked and every caller act on that path, decodes folder paths once, and opens, deletes and renames files relative to directories opened from the storage directory without following symbolic links. Desktop mode is not affected. This issue affects pgAdmin 4: before 9.19.

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