CVE-2026-97469
ŚrednieCVSS 4.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 2 - wyżej niż 2% wszystkich znanych CVE
Streszczenie
Podatność w PostgreSQL Anonymizer pozwala nieuprzywilejowanym użytkownikom z rolą maskującą wielokrotnie wywoływać funkcję anon.hash() i zbierać pary (seed, hash_output) w celu przeprowadzenia ataku brute-force offline i odgadnięcia soli. Problem rozwiązano w wersji 3.2.3.
Ocena ryzyka
Ryzyko ujawnienia soli używanej do haszowania danych, co może prowadzić do złamania ochrony danych osobowych i obejścia mechanizmów anonimizacji.
Rekomendacja
Zaktualizuj PostgreSQL Anonymizer do wersji 3.2.3 lub nowszej oraz ogranicz uprawnienia do wywoływania funkcji anon.hash() tylko dla zaufanych ról.
Inne podatności w PostgreSQL Anonymizer
Zobacz wszystkie- CVE-2026-110183Średnie
PostgreSQL Anonymizer w wersjach przed 3.3.0 pozostawia statystyki dotyczące oryginalnych danych widoczne w pg_stats do momentu wykonania ANALYZE na tabeli (ręcznie lub przez autovacuum). Może to ujawnić informacje o zamaskowanych danych.
- CVE-2026-110182Średnie
Funkcje anon.partial() i anon.partial_email() w PostgreSQL Anonymizer przed wersją 3.3.0 mogą ujawnić całe dane, jeśli są one wystarczająco krótkie. Problem został naprawiony w wersji 3.3.0.
- CVE-2026-110181Średnie
PostgreSQL Anonymizer przed wersją 3.3.0 nieprawidłowo obsługuje funkcje anonimizujące zdefiniowane za pomocą ciał funkcji w standardzie SQL. PostgreSQL analizuje takie funkcje w momencie deklaracji, podczas gdy Anonymizer sprawdza je dopiero przy wykonaniu, co może wykorzystać każdy użytkownik z uprawnieniem TEMPORARY.
- CVE-2026-105620Średnie
PostgreSQL Anonymizer przed wersją 3.3.0 nie maskuje danych zwracanych przez podzapytanie w regule. Problem został rozwiązany w wersji 3.3.0.
- CVE-2026-105619Średnie
PostgreSQL Anonymizer przed wersją 3.3.0 nie maskuje danych dostępnych przez widok z opcją security_invoker. Problem został rozwiązany w wersji 3.3.0.
- CVE-2026-105618Średnie
Dokumentacja PostgreSQL Anonymizer zaleca stosowanie reguł na partycjach i tabelach dziedziczących, jednak bezpośredni dostęp do partycji jest maskowany, a dostęp przez tabelę nadrzędną już nie. Problem został rozwiązany w wersji 3.3.0.
- CVE-2026-105617Średnie
PostgreSQL Anonymizer przed wersją 3.3.0 nie unieważnia planów przygotowanych po dodaniu reguły lub zmianie roli. Użytkownicy korzystający z takich planów mogą nadal widzieć niezamaskowane dane do końca sesji.
- CVE-2026-105616Średnie
PostgreSQL ogranicza dostęp do salt i shift przez polecenie SHOW dla użytkowników spoza pg_read_all_settings, ale wartości te są widoczne w pg_db_role_setting lub pg_roles, jeśli ustawiono je na poziomie bazy danych, użytkownika lub obu. Dokumentacja PostgreSQL Anonymizer zaleca używanie ALTER DATABASE / ALTER ROLE dla salt; problem rozwiązano w wersji 3.3.0.
- CVE-2026-105615Niskie
Zoptymalizowane statystyki tabeli w PostgreSQL są widoczne dla każdego, kto ma uprawnienie SELECT na tej tabeli. Zamaskowana rola może więc odczytać ograniczony podzbiór danych poprzez histogramy i MCV w widoku statystyk.
- CVE-2026-105614Średnie
Funkcja anon.image_blur() w PostgreSQL Anonymizer przed wersją 3.3.0 nie sprawdza zadeklarowanych wymiarów dostarczonego obrazu, co pozwala atakującemu podać mały obraz z ogromnymi zadeklarowanymi wymiarami. Może to wyczerpać pamięć backendu i doprowadzić do OOM-kill oraz odzyskiwania klastra po awarii.
Oryginalny opis (angielski, źródło NVD)
PostgreSQL Anonymizer contains a vulnerability that allows unprivileged masked users to repeatedly call the anon.hash() function and collects (seed, hash_output) pairs to perform an offline brute-force attack and deduce the salt. A masked role can run a RESTRICTED function when the call is placed inside the sub-select. The problem is resolved in PostgreSQL Anonymizer 3.2.3 and later versions
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

