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) 的标签补全。pg_controldata 在显示来自损坏的 pg_control 文件中的信息时更具弹性。pg_restore 中的内存泄漏问题。pg_basebackup 在 Windows 上正确处理大小超过 2GB 的 pg_wal.tar 文件的问题。brin_page_items() 函数定义未更新到最新版本的情况下,pageinspect 崩溃的问题。postgres_fdw 远程查询时的竞态条件。本次发布还更新了时区数据文件至 tzdata release 2025a,以应对巴拉圭的 DST 法规变更,并对菲律宾进行了历史性修正。
所有 PostgreSQL 更新版本都是累积的。与其他次要版本一样,用户不需要转储和重新加载数据库或使用 pg_upgrade 来应用此更新版本;您可以直接关闭 PostgreSQL 并更新其二进制文件。
跳过一个或多个更新版本的用户可能需要运行额外的更新后步骤;请参阅早期版本的发行说明以获取详细信息。
有关更多详细信息,请参阅 发行说明。
如果您对此版本公告有任何更正或建议,请将其发送至 pgsql-www@lists.postgresql.org 公共 邮件列表。