PostgreSQL 17.3、16.7、15.11、14.16 和 13.19 发布!

发布于 2025-02-13,PostgreSQL Global Development Group
PostgreSQL 安全相关

PostgreSQL 全球开发组已发布所有受支持 PostgreSQL 版本的更新,包括 17.3、16.7、15.11、14.16 和 13.19。此版本修复了 1 个安全漏洞以及过去几个月报告的 70 多个错误。

完整变更列表请查阅发行说明

安全问题

CVE-2025-1094:PostgreSQL 引用 API 未能在编码验证失败的文本中正确转义引用语法

CVSS v3.1 基础评分:8.1

受影响的支持版本:13 - 17。

PostgreSQL libpq 函数 PQescapeLiteral()PQescapeIdentifier()PQescapeString()PQescapeStringConn() 中存在引用语法转义不当的问题,允许数据库输入提供者在特定使用模式下实现 SQL 注入。具体来说,SQL 注入要求应用程序使用函数返回结果来构造传递给 psql(PostgreSQL 交互式终端)的输入。类似地,PostgreSQL 命令行实用工具中引用语法的转义不当,允许命令行参数来源在 client_encodingBIG5server_encodingEUC_TWMULE_INTERNAL 之一时实现 SQL 注入。PostgreSQL 17.3、16.7、15.11、14.16 和 13.19 之前的版本受此影响。

PostgreSQL 项目感谢 Rapid7 首席安全研究员 Stephen Fewer 报告此问题。

错误修复与改进

此更新修复了过去几个月报告的 70 多个错误。以下列出的问题影响 PostgreSQL 17。其中部分问题也可能影响 PostgreSQL 的其他受支持版本。

  • 恢复 v17 之前对连接请求中超过 63 字节的数据库名称和用户名的截断行为。
  • 不对并行工作进程执行连接权限检查和限制,而是从领导进程继承这些设置。
  • 移除 LWLock 等待事件名称中的 Lock 后缀。
  • 修复窗口聚合中可能重复使用过期结果的问题,该问题可能导致结果不正确。
  • 多项 vacuum 竞态条件修复,最严重情况下可能导致系统目录损坏。
  • 多项截断表和索引的修复,防止潜在的数据损坏。
  • 修复分离分区时,其自身外键约束引用分区表的问题。
  • 修复 to_timestampFFn(例如 FF1)格式代码的问题,此前 FFn 之前的整数格式代码会消耗所有可用数字。
  • 修复 SQL/JSON 和 XMLTABLE() 在必要时对特定条目进行双引号包裹的问题。
  • pg_hba_file_rules() 中包含 ldapscheme 选项。
  • 多项 UNION 修复,包括不合并具有不兼容排序规则的列。
  • 多项可能影响 PostgreSQL 连接可用性或连接建立速度的修复。
  • 修复逻辑解码输出中的多个内存泄漏。
  • 修复 PL/Python 中的多个内存泄漏。
  • COPY (MERGE INTO) 添加 psql 标签补全功能。
  • 增强 pg_controldata 在显示损坏的 pg_control 文件信息时的健壮性。
  • 修复 pg_restore 处理 zstd 压缩数据时的内存泄漏。
  • 修复 pg_basebackup 在 Windows 上正确处理超过 2GB 的 pg_wal.tar 文件。
  • 修改 earthdistance 使用 SQL 标准函数体,修复使用此扩展的数据库在升级到 v17 大版本时可能出现的问题。
  • 修复 pageinspect 中当 brin_page_items() 函数定义未更新到最新版本时的崩溃问题。
  • 修复尝试取消 postgres_fdw 远程查询时的竞态条件。

此版本还将时区数据文件更新至 tzdata 2025a 版本,包含巴拉圭的夏令时法规变更以及菲律宾的历史修正。

升级

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

跳过一个或多个更新版本的用户可能需要执行额外的更新后步骤;请参阅早期版本的发行说明了解详情。

更多详情请查阅发行说明

链接

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