PostgreSQL 15.2、14.7、13.10、12.14 和 11.19 发布!

发布于 2023-02-09,由 PostgreSQL 全球开发组发布
PostgreSQL 项目 安全

PostgreSQL 全球开发组已发布对所有受支持的 PostgreSQL 版本的更新,包括 15.2、14.7、13.10、12.14 和 11.19。此版本修复了一个安全漏洞,并修复了过去几个月报告的 60 多个错误。

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

安全问题

CVE-2022-41862:使用 Kerberos 连接到已修改的服务器时,客户端内存泄露。

受影响版本:12 - 15。

一个被修改的、未经身份验证的服务器或未经身份验证的中间人可以在建立 Kerberos 传输加密时发送一个未终止的字符串。当 libpq 客户端应用程序具有 Kerberos 凭据缓存且未显式禁用选项 gssencmode 时,服务器可能会导致 libpq 过度读取并报告一个错误消息,该消息包含来自其接收缓冲区及其之后的未初始化字节。如果 libpq 的调用者以某种方式使攻击者可以访问该消息,则会泄露过度读取的字节。我们尚未确认或排除安排崩溃或在泄露的字节中存在重要的机密信息的攻击的可行性。

PostgreSQL 项目感谢 Jacob Champion 报告此问题。

错误修复和改进

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

此版本中包含

  • 修复了分区表,以便在父表中不存在 GENERATED 列或子生成的列与父列具有不同的依赖关系时,正确更新子表中的 GENERATED 列。
  • 修复了多个 MERGE 命令的问题。
  • 允许 WITH RECURSIVE ... CYCLE 查询访问其 SET 输出列。
  • 修复了外表上批量插入可能导致逻辑不一致的问题,例如,BEFORE ROW 触发器可能不会处理应可用的行。
  • 拒绝在 jsonpath 存在检查中使用未定义的变量。
  • 修复了直接来自表中 text 列的 jsonb 下标的问题。
  • 在重新加载时遵循 checkpoint_completion_target 的更新值。
  • recovery_target_xid 模式下记录正确的结束时间戳。
  • 修复了使用逻辑复制时允许列列表长度超过 100 的问题。
  • 防止在 VACUUM 结束时出现“错误的元组长度”失败。
  • 在使用查询管道时,避免在 ANALYZE 之后立即提交。
  • 对查询计划器进行了多次修复,包括一个提供了更多使用分区连接的记忆的机会的修复。
  • 修复了统计信息收集,以正确处理关系类型更改时(例如,将表转换为视图)的情况。
  • 确保全文搜索查询可以在执行短语匹配时取消。
  • 修复了 DROP DATABASE 和逻辑复制工作进程之间的死锁。
  • 修复了 CREATE SUBSCRIPTION 连接尝试失败时会话生命周期中的小型内存泄漏。
  • 提高了启用hot_standby 的副本处理 SELECT 查询时的性能。
  • 对逻辑解码进行了多次修复,提高了其稳定性和膨胀处理能力。
  • 修复了默认逻辑复制插件 pgoutput,使其不发送表中复制列列表中未列出的列。
  • 修复了 pg_basebackup 中可能损坏的非常大的表空间映射文件。
  • public 架构具有非默认所有者时,删除 pg_dump--if-exists 模式下的无害警告。
  • 修复了 psql 命令 \sf\ef 以处理具有SQL 标准函数体(即 BEGIN ATOMIC)的 SQL 语言函数。
  • 修复了 ALTER FUNCTION/PROCEDURE/ROUTINE ... SET SCHEMA 的制表符补全。
  • 更新 pageinspect 扩展以将其磁盘访问函数标记为 PARALLEL RESTRICTED
  • 修复了 seg 扩展,以避免在输入数字超过 127 位时崩溃或打印垃圾信息。

此版本还更新了时区数据文件,使其符合 tzdata 2022g 版本,以适应格陵兰和墨西哥的夏令时法律变更,以及加拿大北部、哥伦比亚和新加坡的历史更正。值得注意的是,一个新的时区 America/Ciudad_Juarez 已从 America/Ojinaga 分离出来。

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

更新

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

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

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

链接