PostgreSQL 16.2、15.6、14.11、13.14 和 12.18 已发布!

由 PostgreSQL 全球开发小组于 2024-02-08 发布
PostgreSQL 项目 安全

PostgreSQL 全球开发小组发布了对所有受支持 PostgreSQL 版本的更新,包括 16.2、15.6、14.11、13.14 和 12.18。此版本修复了一个安全漏洞以及过去几个月报告的 65 多个错误。

如果您使用 GIN 索引,则在更新到此版本后可能需要重新索引。请参阅发行说明了解更多信息。

有关更改的完整列表,请查看发行说明

安全问题

CVE-2024-0985:PostgreSQL 非所有者 REFRESH MATERIALIZED VIEW CONCURRENTLY 执行任意 SQL

CVSS v3 基本评分:8.0

受支持的易受攻击版本:12 - 16。

并发刷新命令的一个步骤在弱安全限制下运行。如果物化视图的所有者可以说服超级用户或其他高权限用户对该视图执行并发刷新,则视图的所有者可以控制以运行 REFRESH 的用户的权限执行的代码。此漏洞的修复使所有用户确定的代码都按预期以视图所有者的身份运行。

PostgreSQL 项目感谢 Pedro Gallegos 报告此问题。

错误修复和改进

此更新修复了过去几个月报告的 65 多个错误。下面列出的问题会影响 PostgreSQL 16。其中一些问题也可能影响其他受支持的 PostgreSQL 版本。

  • 修复执行 JIT 内联时可能导致内存不足情况的内存泄漏。
  • 多个查询规划器修复。
  • 当更新分区键列时,使 MERGE 行为与 UPDATE 一致,并跳过触发 AFTER UPDATE ROW 触发器和其他更新后操作。
  • 修复 ALTER TEXT SEARCH CONFIGURATION ... MAPPING 命令中重复标记名称的问题。
  • 修复具有重复角色名称的 DROP ROLE
  • DROP STATISTICS 期间正确锁定关联的表,以防止在 ANALYZE 并发运行时发生错误。
  • 修复 GENERATEDDEFAULT 表达式的函数易失性检查。
  • 确保将现有索引与新的分区索引匹配时排序规则匹配。
  • 避免在子索引与分区索引上的 REINDEX INDEX 并发删除时出现故障。
  • 修复 GIN 索引清理期间的锁定问题。在这种情况下,如果多个进程尝试清理同一 GIN 索引页,则可能会导致索引损坏。如果您认为自己受到此问题的影响,请在安装此更新后重新索引 GIN 索引。
  • 避免分区 SP-GiST 索引出现故障。
  • 多个大型对象的所有权修复。
  • EXPLAIN (BUFFERS) 中,将 I/O 计时数据的名称“shared/local”更改为“shared”。
  • 确保在执行期间或执行后不久发生系统崩溃时 CREATE DATABASE 命令的持久性。
  • 在从备份启动和结束恢复时添加更多日志消息。
  • 还原了一个更改,该更改导致 walreceiver 进程在等待建立复制连接时对 SIGTERM 无响应。
  • 逻辑复制的几个修复。
  • 修复与 OpenSSL 3.2 的不兼容问题。
  • 修复 PL/pgSQL 以允许使用 SQL 标准函数体的 CREATE FUNCTION/CREATE PROCEDURE SQL 命令。
  • 修复 libpq 管道模式中的错误处理。
  • 确保 initdb 始终取消注释 postgresql.conflc_ 参数系列的条目。
  • pg_dump 中,不要为扩展成员对象转储 RLS 策略或安全标签。

此版本还将时区数据文件更新到 tzdata 2024a 版本,以解决格陵兰、哈萨克斯坦和巴勒斯坦的 DST 法律变更,以及对南极洲的 Casey 和 Vostok 站的更正。此外,还有对越南、多伦多和密克隆的历史更正。

更新

所有 PostgreSQL 更新版本都是累积的。与其他次要版本一样,用户无需转储并重新加载数据库或使用 pg_upgrade 即可应用此更新版本;您只需关闭 PostgreSQL 并更新其二进制文件即可。

如果您使用 GIN 索引,则在更新到此版本后可能需要重新索引。请参阅发行说明了解更多信息。

跳过一个或多个更新版本的用户可能需要运行其他更新后步骤;请参阅早期版本的发行说明了解详细信息。

有关更多详细信息,请参阅发行说明

链接

如果您对此发布公告有更正或建议,请将其发送至公共 邮件列表 pgsql-www@lists.postgresql.org