Абнаўленне PostgreSQL з ухіленнем уразлівасці. Выпуск pg_ivm 1.0

Сфарміраваны карэкціруючыя абнаўленні для ўсіх падтрымліваемых галінак PostgreSQL: 14.3, 13.7, 12.11, 11.16 і 10.22. Ветка 10.x набліжаецца да заканчэння тэрміну падтрымкі (абнаўленні будуць фармавацца да лістапада 2022 года). Выпуск абнаўленняў для галінкі 11.x працягнецца да лістапада 2023 года, 12.x - да лістапада 2024 года, 13.x - да лістапада 2025 года, 14.x - да лістапада 2026 года.

У новых версіях прапанавана больш за 50 выпраўленняў і ўхіленая ўразлівасць CVE-2022-1552, злучаная з магчымасцю абыходу ізаляцыі выканання прывілеяваных аперацый Autovacuum, REINDEX, CREATE INDEX, REFRESH MATERIALIZED VIEW, CLUSTER і pg_amcheck. Атакуючы, які мае паўнамоцтвы стварэння не часовых аб'ектаў у любой схеме захоўвання, можа дамагчыся выкананні адвольных SQL-функцый з правамі суперкарыстальніка падчас выканання прывілеяваным карыстачом вышэйадзначаных аперацый, якія закранаюць аб'ект атакавалага. У тым ліку эксплуатацыя ўразлівасці можа адбыцца пры аўтаматычнай чыстцы базы пры выкананні апрацоўшчыка autovacuum.

Пры немагчымасці выканаць абнаўленне ў якасці абыходнага шляху блакавання праблемы можна адключыць autovacuum і не выконваць прывілеяваным карыстачом аперацыі REINDEX, CREATE INDEX, REFRESH MATERIALIZED VIEW і CLUSTER, а таксама не запускаць утыліту pg_amcheck і не аднаўляць змесціва з_ рэзервовай копіі. Выкананне VACUUM прызнана бяспечным, як і ўжыванне любых аперацыі каманд, калі апрацоўваныя аб'екты прыналежаць карыстачам, вартым даверу.

З іншых змен у новых выпусках можна адзначыць абнаўленне кода JIT для працы з LLVM 14, дазвол выкарыстання шаблонаў database.schema.table ва ўтылітах psql, pg_dump і pg_amcheck, выпраўленне праблем, якія прыводзяць да пашкоджання азначнікаў GiST над слупкамі ltree, няслушнаму акругленню значэнняў у фармаце epoch, вынятых з дадзеных з тыпам interval, няслушнай працы планавальніка пры выкарыстанні асінхронных выдаленых запытаў, няправільнаму сартаванню радкоў табліцы пры выкарыстанні выраза CLUSTER над індэксамі з ключамі на базе выразаў, страце дадзеных пры аварыйным завяршэнні адразу пасля пабудовы адсартаванага індэкса GiST, узаемнай секцыянаванага азначніка, стану гонкі паміж аперацыяй DROP TABLESPACE і фіксацыяй стану (checkpoint).

Дадаткова можна адзначыць выпуск пашырэння pg_ivm 1.0 з рэалізацыяй падтрымкі IVM (Incremental View Maintenance) для PostgreSQL 14. IVM прапануе альтэрнатыўны спосаб абнаўлення матэрыялізаваных уяўленняў, больш эфектыўны ў выпадку, калі змены закранаюць невялікую частку падання. IVM дазваляе імгненна абнаўляць матэрыялізаваныя ўяўленні, ужываючы да іх толькі інкрыментальныя змены, без паўторнага вылічэння падання, які вырабляецца пры выкарыстанні аперацыі «REFRESH MATERIALIZED VIEW».

Крыніца: opennet.ru

Дадаць каментар