PostgreSQL 全球开发小组发布了对所有受支持的 PostgreSQL 版本的更新,包括 15.3、14.8、13.11、12.15 和 11.20。此版本修复了两个安全漏洞以及过去几个月报告的 80 多个错误。
有关更改的完整列表,请查看发行说明。
PostgreSQL 11 将于 2023 年 11 月 9 日停止接收修复。如果您在生产环境中运行 PostgreSQL 11,我们建议您制定计划升级到更新、受支持的 PostgreSQL 版本。请参阅我们的版本控制策略了解更多信息。
CREATE SCHEMA ... schema_element
破坏了保护性的 search_path 更改。受影响的版本:11 - 15。安全团队通常不测试不受支持的版本,但这个问题已经存在很久了。
这使得拥有数据库级 CREATE
权限的攻击者可以以引导超级用户的身份执行任意代码。数据库所有者默认拥有该权限,并且显式授权可能会将其扩展到其他用户。
PostgreSQL 项目感谢 Alexander Lakhin 报告此问题。
受影响的版本:11 - 15。安全团队通常不测试不受支持的版本,但这个问题已经存在很久了。
虽然 CVE-2016-2193 修复了行安全和用户 ID 更改之间的大部分交互,但它遗漏了涉及函数内联的场景。这会导致在角色特定策略被使用的情况下,并且给定查询在一个角色下计划然后在其他角色下执行时,可能应用不正确的策略。这种情况可能发生在安全定义函数下,或者当一个普通用户和查询最初被计划然后在多个 SET ROLE 之间重用时。应用不正确的策略可能会允许用户完成原本禁止的读取和修改。这仅影响使用了 CREATE POLICY
来定义行安全策略的数据库。
PostgreSQL 项目感谢 Wolfgang Walther 报告此问题。
此更新修复了过去几个月报告的 80 多个错误。下面列出的问题会影响 PostgreSQL 15。其中一些问题也可能影响其他受支持的 PostgreSQL 版本。
此版本包含
STRATEGY = WAL_LOG
时,对 CREATE DATABASE
的几个修复,包括可能丢失对模板/源数据库的修改的潜在损坏。CREATE SCHEMA AUTHORIZATION
导致的崩溃。MERGE
的几个修复。COPY TO
时,不会从子表复制任何行。vacuum_defer_cleanup_age
大于当前 64 位 xid 而导致的数据损坏。IS NOT TRUE
和 IS NOT FALSE
条件下的分区剪枝错误。在此之前,NULL
分区会被意外剪枝。vacuum_cost_delay
设置的支持。UPDATE
或 DELETE
操作期间,忽略删除的列和生成的列。DO
块的会话内的内存泄漏。pg_dump
,以便可以成功恢复在 枚举类型列上进行哈希分区的分区表。pg_trgm
,其中不可满足的正则表达式可能在使用 GiST 或 GIN 索引时导致崩溃。pg_walinspect
中 pg_get_wal_records_info()
的内存使用量。此版本还将时区数据文件更新为 tzdata 2023c 版本,以适应埃及、格陵兰、摩洛哥和巴勒斯坦的 DST 法律变更。在观察莫斯科时间时,Europe/Kirov 和 Europe/Volgograd 现在使用 MSK/MSD 缩写而不是数字缩写,以与其他观察莫斯科时间的时区保持一致。此外,America/Yellowknife 不再与 America/Edmonton 不同;这会影响该地区的一些 1948 年之前的时间戳。
有关可用更改的完整列表,请查看发行说明。
所有 PostgreSQL 更新版本都是累积的。与其他小版本一样,用户不需要转储和重新加载其数据库或使用 pg_upgrade
来应用此更新版本;您可以简单地关闭 PostgreSQL 并更新其二进制文件。
跳过一个或多个更新版本的用户可能需要运行额外的更新后步骤;请参阅早期版本的发行说明了解详细信息。
有关更多详细信息,请参阅发行说明。
如果您对此版本公告有更正或建议,请将其发送到 pgsql-www@lists.postgresql.org 公共邮件列表。