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 公共 邮件列表。