Opravné aktualizácie boli vygenerované pre všetky podporované vetvy PostgreSQL: 14.3, 13.7, 12.11, 11.16 a 10.22. Vetva 10.x sa blíži ku koncu podpory (aktualizácie budú generované do novembra 2022). Vydanie aktualizácií pre vetvu 11.x potrvá do novembra 2023, 12.x do novembra 2024, 13.x do novembra 2025, 14.x do novembra 2026.
Nové verzie ponúkajú viac ako 50 opráv a odstraňujú zraniteľnosť CVE-2022-1552 spojenú so schopnosťou obísť izoláciu vykonávania privilegovaných operácií Autovacuum, REINDEX, CREATE INDEX, REFRESH MATERIALIZED VIEW, CLUSTER a pg_amcheck. Útočník s oprávnením vytvárať nedočasné objekty v ľubovoľnej schéme úložného priestoru môže spôsobiť spustenie ľubovoľných funkcií SQL s oprávneniami root, zatiaľ čo privilegovaný používateľ vykonáva vyššie uvedené operácie, ktoré ovplyvňujú objekt útočníka. K zneužitiu zraniteľnosti môže dôjsť najmä počas automatického čistenia databázy, keď je spustený obslužný program automatického vákua.
Ak aktualizácia nie je možná, riešením na zablokovanie problému je zakázať automatické vákuovanie a nevykonávať operácie REINDEX, CREATE INDEX, REFRESH MATERIALIZED VIEW a CLUSTER ako užívateľ root a nespúšťať pg_amcheck ani neobnovovať obsah zo zálohy vytvorenej pg_dump . Vykonanie VACUUM sa považuje za bezpečné, rovnako ako všetky príkazové operácie, pokiaľ sú spracovávané objekty vo vlastníctve dôveryhodných používateľov.
Medzi ďalšie zmeny v nových vydaniach patrí aktualizácia kódu JIT, aby fungoval s LLVM 14, čo umožňuje použitie šablón database.schema.table v nástrojoch psql, pg_dump a pg_amcheck, oprava problémov, ktoré vedú k poškodeniu indexov GiST nad stĺpcami ltree, nesprávne zaokrúhľovanie hodnôt vo formáte epocha extrahovaná z intervalových údajov, nesprávna činnosť plánovača pri použití asynchrónnych vzdialených dotazov, nesprávne triedenie riadkov tabuľky pri použití výrazu CLUSTER na indexoch s kľúčmi založenými na výraze, strata údajov v dôsledku abnormálneho ukončenia ihneď po vytvorenie triedeného indexu GiST, uviaznutie počas odstraňovania rozdeleného indexu, súbeh medzi operáciou DROP TABLESPACE a kontrolným bodom.
Okrem toho si môžeme všimnúť vydanie rozšírenia pg_ivm 1.0 s implementáciou podpory IVM (Incremental View Maintenance) pre PostgreSQL 14. IVM ponúka alternatívny spôsob aktualizácie materializovaných pohľadov, ktorý je efektívnejší, ak zmeny ovplyvňujú malú časť pohľadu. IVM umožňuje okamžitú obnovu materializovaných pohľadov len s postupnými zmenami bez prepočítavania pohľadu pomocou operácie OBNOVIŤ MATERIALIZED VIEW.
Zdroj: opennet.ru
