PostgreSQL 更新并修复了漏洞。 pg_ivm 1.0 版本

已为所有受支持的 PostgreSQL 分支生成纠正更新:14.3、13.7、12.11、11.16 和 10.22。 10.x 分支即将结束支持(更新将在 2022 年 11 月之前生成)。 2023.x分支的更新发布将持续到12年2024月,13.x到2025年14月,2026.x到XNUMX年XNUMX月,XNUMX.x到XNUMX年XNUMX月。

新版本提供了 50 多个修复程序,并消除了与绕过特权操作 Autovacuum、REINDEX、CREATE INDEX、REFRESH MATERIALIZED VIEW、CLUSTER 和 pg_amcheck 执行隔离的能力相关的漏洞 CVE-2022-1552。 有权在任何存储方案中创建非临时对象的攻击者可以导致以 root 权限执行任意 SQL 函数,而特权用户正在执行影响攻击者对象的上述操作。 特别是,在执行 autovacuum 处理程序时,在自动清理数据库期间可能会利用该漏洞。

如果无法更新,阻止该问题的解决方法是禁用 autovacuum,并且不以 root 用户身份执行 REINDEX、CREATE INDEX、REFRESH MATERIALIZED VIEW 和 CLUSTER 操作,并且不运行 pg_amcheck 或从 pg_dump 创建的备份恢复内容。 只要正在处理的对象属于可信用户,执行 VACUUM 就被认为是安全的,就像任何命令操作一样。

新版本中的其他更改包括更新 JIT 代码以与 LLVM 14 配合使用,允许在 psql、pg_dump 和 pg_amcheck 实用程序中使用 database.schema.table 模板,修复导致 ltree 列上的 GiST 索引损坏的问题、不正确的问题从间隔数据中提取的纪元格式的值的舍入,使用异步远程查询时不正确的调度程序操作,在具有基于表达式的键的索引上使用 CLUSTER 表达式时对表行的不正确排序,由于紧随其后的异常终止而导致的数据丢失构建排序的 GiST 索引、删除分区索引期间的死锁、DROP TABLESPACE 操作和检查点之间的竞争条件。

此外,我们可以注意到 pg_ivm 1.0 扩展的发布以及对 PostgreSQL 14 的 IVM(增量视图维护)支持的实现。IVM 提供了另一种更新物化视图的方法,如果更改影响视图的一小部分,则该方法会更有效。 IVM 允许仅通过增量更改即时刷新物化视图,而无需使用 REFRESH MATERIALIZED VIEW 操作重新计算视图。

来源: opennet.ru

添加评论