Au fost generate actualizări corective pentru toate versiunile suportate ale PostgreSQL: 14.3, 13.7, 12.11, 11.16 și 10.22. Versiunea 10.x se apropie de sfârșitul perioadei de suport (actualizările vor fi generate până în noiembrie 2022). Lansarea actualizărilor pentru versiunea 11.x va dura până în noiembrie 2023, 12.x - până în noiembrie 2024, 13.x - până în noiembrie 2025, 14.x - până în noiembrie 2026.
Noile versiuni propun peste 50 de corecții și remediază vulnerabilitatea CVE-2022-1552, legată de posibilitatea de a ocoli izolarea execuției operațiunilor privilegiate Autovacuum, REINDEX, CREATE INDEX, REFRESH MATERIALIZED VIEW, CLUSTER și pg_amcheck. Atacatorul, care are permisiunea de a crea obiecte non-temporare în orice schemă de stocare, poate obține execuția de funcții SQL arbitrare cu drepturi de superutilizator în timpul executării operațiunilor privilegiate menționate asupra obiectului atacatorului. De asemenea, exploatarea vulnerabilității poate apărea în timpul curățării automate a bazei de date la executarea handler-ului autovacuum.
În cazul în care actualizarea nu poate fi efectuată, ca o soluție alternativă pentru blocarea problemei, se poate dezactiva autovacuum și nu se vor efectua operațiuni privilegiate REINDEX, CREATE INDEX, REFRESH MATERIALIZED VIEW și CLUSTER, de asemenea, nu se va porni utilitarul pg_amcheck și nu se va restaura conținutul dintr-o copie de rezervă realizată cu utilitarul pg_dump. Execuția VACUUM este considerată sigură, la fel ca și aplicarea oricăror operațiuni de comandă, dacă obiectele procesate aparțin utilizatorilor de încredere.
Printre alte modificări din noile versiuni se numără actualizarea codului JIT pentru a funcționa cu LLVM 14, permisiunea utilizării șabloanelor database.schema.table în utilitarele psql, pg_dump și pg_amcheck, corectarea problemelor care duc la coruperea indicilor GiST pe coloanele ltree, rotunjirea incorectă a valorilor în format epoch extrase din date cu tipul interval, comportamentul incorect al planificatorului la utilizarea cererilor externe asincrone, sortarea incorectă a rândurilor din tabel la utilizarea expresiei CLUSTER pe indicii cu chei bazate pe expresii, pierderea datelor în cazul unei opriri bruște imediat după construirea unui indice GiST sortat, blocajul mutual la ștergerea unui indice secționat, condițiile de competiție între operația DROP TABLESPACE și blocarea stării (checkpoint).
De asemenea, merită menționat lansarea extensiei pg_ivm 1.0 care implementează suport pentru IVM (Întreținerea Incrementală a Viziunilor) pentru PostgreSQL 14. IVM oferă o modalitate alternativă de actualizare a viziunilor materializate, mai eficientă în cazul în care modificările afectează o parte mică din viziune. IVM permite actualizarea instantanee a viziunilor materializate, aplicându-le doar modificări incrementale, fără recalcularea viziunii, realizată prin utilizarea operației „REFRESH MATERIALIZED VIEW”.
Sursa: opennet.ro
