Byly sestaveny korekční aktualizace pro všechny podporované větve PostgreSQL: 14.3, 13.7, 12.11, 11.16 a 10.22. Větev 10.x se blíží ke konci životnosti (aktualizace budou sestavovány do listopadu 2022). Vydávání aktualizací pro větev 11.x bude pokračovat do listopadu 2023, 12.x — do listopadu 2024, 13.x — do listopadu 2025, 14.x — do listopadu 2026.
V nových verzích bylo navrženo přes 50 oprav a byla odstraněna zranitelnost CVE-2022-1552, která souvisí s možností obcházení izolace provádění privilegovaných operací Autovacuum, REINDEX, CREATE INDEX, REFRESH MATERIALIZED VIEW, CLUSTER a pg_amcheck. Útočník, který má oprávnění vytvářet nepotravinové objekty v jakékoli schématice, může dosáhnout provádění libovolných SQL funkcí s právy superuživatele během provádění privilegovaným uživatelem výše zmíněných operací, které se dotýkají objektu útočníka. Využití této zranitelnosti může nastat také při automatickém čištění databáze během provádění autovacuum handleru.
Pokud není možné provést aktualizaci, jako obchvat blokování problému je možné vypnout autovacuum a neprovádět privilegovaným uživatelem operace REINDEX, CREATE INDEX, REFRESH MATERIALIZED VIEW a CLUSTER, ani nespouštět nástroj pg_amcheck a neobnovovat obsah ze zálohy vytvořené nástrojem pg_dump. Provádění VACUUM je považováno za bezpečné, stejně jako použití jakékoliv operace, pokud zpracovávané objekty patří důvěryhodným uživatelům.
Mezi dalšími změnami v nových verzích lze zmínit aktualizaci kódu JIT pro spolupráci s LLVM 14, povolení používání šablon database.schema.table v utilitách psql, pg_dump a pg_amcheck, opravu problémů vedoucích k poškození indexů GiST nad sloupci ltree, nesprávnému zaokrouhlování hodnot ve formátu epoch, získaných z dat typu interval, nesprávné funkci plánovače při používání asynchronních vzdálených dotazů, nesprávnému třídění řádků tabulky při použití výrazu CLUSTER nad indexy s klíči na základě výrazů, ztrátě dat při havarijním ukončení ihned po vybudování seřazeného indexu GiST, vzájemnému zamykání při odstraňování odstupňovaného indexu, a stavu závodění mezi operací DROP TABLESPACE a pevnou kontrolou stavu (checkpoint).
Dále lze zmínit vydání rozšíření pg_ivm 1.0 s implementací podpory IVM (Inkrementální údržba pohledů) pro PostgreSQL 14. IVM nabízí alternativní způsob aktualizace materializovaných pohledů, který je efektivnější, pokud se změny týkají pouze malé části pohledu. IVM umožňuje okamžitou aktualizaci materializovaných pohledů aplikováním pouze inkrementálních změn, bez opětovného výpočtu pohledu prováděného při použití operace „REFRESH MATERIALIZED VIEW.“
Zdroj: opennet.ru
