Aktualizacja PostgreSQL usuwająca lukę. Wydanie pg_ivm 1.0

Zostały opracowane aktualizacje korygujące dla wszystkich obsługiwanych gałęzi PostgreSQL: 14.3, 13.7, 12.11, 11.16 i 10.22. Gałąź 10.x zbliża się do końca wsparcia (aktualizacje będą wydawane do listopada 2022 roku). Wydanie aktualizacji dla gałęzi 11.x potrwa do listopada 2023 roku, 12.x - do listopada 2024 roku, 13.x - do listopada 2025 roku, 14.x - do listopada 2026 roku.

W nowych wersjach zaproponowano ponad 50 poprawek oraz usunięto lukę CVE-2022-1552, związaną z możliwością obchodzenia izolacji wykonywania uprzywilejowanych operacji Autovacuum, REINDEX, CREATE INDEX, REFRESH MATERIALIZED VIEW, CLUSTER oraz pg_amcheck. Atakujący posiadający uprawnienia do tworzenia obiektów nie tymczasowych w dowolnym schemacie przechowywania może wykonać dowolne funkcje SQL z uprawnieniami superużytkownika podczas wykonywania uprzywilejowanym użytkownikiem wyżej wymienionych operacji dotyczących obiektu atakującego. Wykorzystanie tej luki może również wystąpić podczas automatycznego czyszczenia bazy danych podczas wykonywania procedury autovacuum.

W przypadku niemożności wykonania aktualizacji, jako obejście problemu można wyłączyć autovacuum i nie wykonywać operacji REINDEX, CREATE INDEX, REFRESH MATERIALIZED VIEW oraz CLUSTER przez uprzywilejowanych użytkowników, a także nie uruchamiać narzędzia pg_amcheck i nie przywracać treści z kopii zapasowej utworzonej za pomocą narzędzia pg_dump. Wykonanie VACUUM uznawane jest za bezpieczne, podobnie jak stosowanie wszelkich operacji, jeśli przetwarzane obiekty należą do zaufanych użytkowników.

Wśród innych zmian w nowych wydaniach warto zauważyć aktualizację kodu JIT do pracy z LLVM 14, umożliwienie korzystania z szablonów database.schema.table w narzędziach psql, pg_dump oraz pg_amcheck, poprawki problemów prowadzących do uszkodzenia indeksów GiST nad kolumnami ltree, niepoprawnego zaokrąglania wartości w formacie epoch z danych o typie interval, błędnego działania harmonogramu przy użyciu asynchronicznych zdalnych zapytań, błędnego sortowania wierszy tabeli przy użyciu wyrażenia CLUSTER na indeksach z kluczami opartymi na wyrażeniach, utraty danych przy awaryjnym zakończeniu zaraz po zbudowaniu posortowanego indeksu GiST, wzajemnego blokowania przy usuwaniu zindeksowanego indeksu oraz stanu wyścigu między operacją DROP TABLESPACE a zapamiętaniem stanu (checkpoint).

Dodatkowo można zauważyć wydanie rozszerzenia pg_ivm 1.0 z realizacją wsparcia dla IVM (Incremental View Maintenance) dla PostgreSQL 14. IVM oferuje alternatywny sposób aktualizacji materializowanych widoków, bardziej efektywny w przypadku, gdy zmiany dotyczą tylko niewielkiej części widoku. IVM pozwala na natychmiastowe aktualizowanie materializowanych widoków, stosując tylko inkrementalne zmiany, bez ponownego obliczania widoku, które występuje przy użyciu operacji „REFRESH MATERIALIZED VIEW”.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster