CVE-2017-7484
WysokieStreszczenie
W niektórych funkcjach estymacji selektywności w PostgreSQL przed wersją 9.2.21, 9.3.x przed 9.3.17, 9.4.x przed 9.4.12, 9.5.x przed 9.5.7 oraz 9.6.x przed 9.6.3 nie sprawdzano uprawnień użytkownika przed udostępnieniem informacji z pg_statistic, co może prowadzić do wycieku danych. Atakujący bez odpowiednich uprawnień mógł wykorzystać tę lukę do kradzieży informacji z tabel, do których normalnie nie miałby dostępu.
Ocena ryzyka
Organizacja może być narażona na nieautoryzowany dostęp do wrażliwych danych, co może prowadzić do naruszenia prywatności i utraty zaufania klientów. Potencjalne wycieki informacji mogą również skutkować konsekwencjami prawnymi.
Rekomendacja
Zaleca się aktualizację PostgreSQL do najnowszej wersji, aby usunąć tę lukę. Dodatkowo, warto przeprowadzić audyt uprawnień użytkowników oraz monitorować dostęp do wrażliwych danych.
Inne podatności w PostgreSQL
Zobacz wszystkie- CVE-2017-15098Wysokie
Wersje PostgreSQL 10.x przed 10.1, 9.6.x przed 9.6.6, 9.5.x przed 9.5.10, 9.4.x przed 9.4.15 oraz 9.3.x przed 9.3.20 mają wadliwe wywołania funkcji json_populate_recordset lub jsonb_populate_recordset, co może prowadzić do awarii serwera lub ujawnienia kilku bajtów pamięci serwera.
- CVE-2017-7548Wysokie
Wersje PostgreSQL przed 9.4.13, 9.5.8 i 9.6.4 są podatne na błąd autoryzacji, który pozwala zdalnym, uwierzytelnionym atakującym bez uprawnień do dużego obiektu na nadpisanie całej zawartości obiektu, co prowadzi do odmowy usługi.
- CVE-2017-7547Wysokie
Wersje PostgreSQL przed 9.2.22, 9.3.18, 9.4.13, 9.5.8 i 9.6.4 mają lukę w autoryzacji, która pozwala zdalnym, uwierzytelnionym atakującym na odzyskanie haseł z map użytkowników zdefiniowanych przez właścicieli zdalnych serwerów, bez posiadania odpowiednich uprawnień.
- CVE-2016-5424Wysokie
PostgreSQL w wersjach przed 9.1.23, 9.2.x przed 9.2.18, 9.3.x przed 9.3.14, 9.4.x przed 9.4.9 oraz 9.5.x przed 9.5.4 może pozwolić zdalnym uwierzytelnionym użytkownikom z rolą CREATEDB lub CREATEROLE na uzyskanie uprawnień superużytkownika poprzez niewłaściwe przetwarzanie znaków specjalnych w nazwach baz danych lub ról.
- CVE-2016-5423Wysokie
PostgreSQL w wersjach przed 9.1.23, 9.2.x przed 9.2.18, 9.3.x przed 9.3.14, 9.4.x przed 9.4.9 oraz 9.5.x przed 9.5.4 pozwala zdalnym uwierzytelnionym użytkownikom na wywołanie odmowy usługi (dereferencja wskaźnika NULL i awaria serwera), uzyskanie wrażliwych informacji z pamięci lub potencjalne wykonanie dowolnego kodu poprzez (1) wyrażenie CASE w subwyrażeniu wartości testowej innego CASE lub (2) wstawienie funkcji SQL implementującej operator równości używanego w wyrażeniu CASE z wartościami różnych typów.
- CVE-2016-2193Wysokie
PostgreSQL w wersjach przed 9.5.x i 9.5.2 nieprawidłowo utrzymuje status zabezpieczeń wierszy w planach pamięci podręcznej, co może pozwolić atakującym na obejście zamierzonych ograniczeń dostępu.
- CVE-2016-0773Wysokie
PostgreSQL w wersjach przed 9.1.20, 9.2.x przed 9.2.15, 9.3.x przed 9.3.11, 9.4.x przed 9.4.6 oraz 9.5.x przed 9.5.1 jest podatny na ataki zdalne, które mogą prowadzić do odmowy usługi poprzez nieskończoną pętlę lub przepełnienie bufora.
- CVE-2016-0766Wysokie
PostgreSQL w wersjach przed 9.1.20, 9.2.x przed 9.2.15, 9.3.x przed 9.3.11, 9.4.x przed 9.4.6 oraz 9.5.x przed 9.5.1 nie ogranicza prawidłowo dostępu do nieokreślonych ustawień konfiguracyjnych (GUCS) dla PL/Java. To umożliwia atakującym uzyskanie uprawnień za pomocą nieokreślonych wektorów.
- CVE-2024-10976Średnie
W PostgreSQL wykryto niekompletne śledzenie tabel z zabezpieczeniami na poziomie wierszy (row security), co pozwala ponownie używanemu zapytaniu na przeglądanie lub zmianę innych wierszy niż zamierzone. Poprawki z CVE-2023-2455 i CVE-2016-2193 nie obejmują przypadków z podzapytaniami, WITH ani security invoker views.
- CVE-2024-10977Średnie
W PostgreSQL klient może używać komunikatów błędów serwera, który nie jest zaufany w ramach bieżących ustawień SSL lub GSS, co pozwala serwerowi na dostarczenie dowolnych bajtów innych niż NUL do aplikacji libpq. Na przykład atakujący typu man-in-the-middle może wysłać długi komunikat błędu, który użytkownik psql może błędnie zinterpretować.
Oryginalny opis (angielski, źródło NVD)
It was found that some selectivity estimation functions in PostgreSQL before 9.2.21, 9.3.x before 9.3.17, 9.4.x before 9.4.12, 9.5.x before 9.5.7, and 9.6.x before 9.6.3 did not check user privileges before providing information from pg_statistic, possibly leaking information. An unprivileged attacker could use this flaw to steal some information from tables they are otherwise not allowed to access.

