PostgreSQL 全球开发组已发布所有受支持 PostgreSQL 版本的更新,包括 17.3、16.7、15.11、14.16 和 13.19。此版本修复了 1 个安全漏洞以及过去几个月报告的 70 多个错误。
完整变更列表请查阅发行说明。
CVSS v3.1 基础评分:8.1
受影响的支持版本:13 - 17。
PostgreSQL libpq 函数 PQescapeLiteral()、PQescapeIdentifier()、PQescapeString() 和 PQescapeStringConn() 中存在引用语法转义不当的问题,允许数据库输入提供者在特定使用模式下实现 SQL 注入。具体来说,SQL 注入要求应用程序使用函数返回结果来构造传递给 psql(PostgreSQL 交互式终端)的输入。类似地,PostgreSQL 命令行实用工具中引用语法的转义不当,允许命令行参数来源在 client_encoding 为 BIG5 且 server_encoding 为 EUC_TW 或 MULE_INTERNAL 之一时实现 SQL 注入。PostgreSQL 17.3、16.7、15.11、14.16 和 13.19 之前的版本受此影响。
PostgreSQL 项目感谢 Rapid7 首席安全研究员 Stephen Fewer 报告此问题。
此更新修复了过去几个月报告的 70 多个错误。以下列出的问题影响 PostgreSQL 17。其中部分问题也可能影响 PostgreSQL 的其他受支持版本。
LWLock 等待事件名称中的 Lock 后缀。to_timestamp 的 FFn(例如 FF1)格式代码的问题,此前 FFn 之前的整数格式代码会消耗所有可用数字。XMLTABLE() 在必要时对特定条目进行双引号包裹的问题。pg_hba_file_rules() 中包含 ldapscheme 选项。UNION 修复,包括不合并具有不兼容排序规则的列。COPY (MERGE INTO) 添加 psql 标签补全功能。pg_controldata 在显示损坏的 pg_control 文件信息时的健壮性。pg_restore 处理 zstd 压缩数据时的内存泄漏。pg_basebackup 在 Windows 上正确处理超过 2GB 的 pg_wal.tar 文件。brin_page_items() 函数定义未更新到最新版本时的崩溃问题。postgres_fdw 远程查询时的竞态条件。此版本还将时区数据文件更新至 tzdata 2025a 版本,包含巴拉圭的夏令时法规变更以及菲律宾的历史修正。
所有 PostgreSQL 更新版本都是累积性的。与其他小版本更新一样,用户无需通过转储和重新加载数据库或使用 pg_upgrade 来应用此更新版本;只需关闭 PostgreSQL 并更新其二进制文件即可。
跳过一个或多个更新版本的用户可能需要执行额外的更新后步骤;请参阅早期版本的发行说明了解详情。
更多详情请查阅发行说明。
如果您对此发布公告有更正或建议,请发送至 pgsql-www@lists.postgresql.org 公共邮件列表。