PostgreSQL 全球开发组发布了所有支持版本的 PostgreSQL 更新,包括 15.3、14.8、13.11、12.15 和 11.20。本次发布修复了两个安全漏洞以及过去几个月报告的 80 多个错误。
有关更改的完整列表,请参阅 发行说明。
PostgreSQL 11 将于 2023 年 11 月 9 日停止接收修复。如果您正在生产环境中使用 PostgreSQL 11,我们建议您计划升级到更新的支持版本。有关更多信息,请参阅我们的 版本策略。
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 的其他支持版本。
包含在此发布版本中
CREATE DATABASE 的多处问题,包括潜在的数据损坏,可能导致模板/源数据库的修改丢失。CREATE SCHEMA AUTHORIZATION 时的崩溃问题。MERGE 的多处问题。COPY TO 时,不会复制子表的任何行。DO 块的会话内内存泄漏。pg_dump,以便可以成功恢复基于 枚举类型列进行哈希分区的分区表。pg_trgm 中无法满足的正则表达式在使用 GiST 或 GIN 索引时可能导致的崩溃。pg_walinspect 中 `pg_get_wal_records_info()` 的内存使用。本次发布还更新了时区数据文件至 tzdata release 2023c,以处理埃及、格陵兰、摩洛哥和巴勒斯坦的夏令时法规变更。在观测莫斯科时间时,Europe/Kirov 和 Europe/Volgograd 现在使用 MSK/MSD 缩写而不是数字缩写,以与其他观测莫斯科时间的时区保持一致。此外,America/Yellowknife 不再与 America/Edmonton 不同;这会影响该地区一些 1948 年之前的日期时间戳。
有关所有更改的完整列表,请参阅 发布说明。
所有 PostgreSQL 更新版本都是累积的。与其他次要版本一样,用户不需要转储和重新加载数据库或使用 pg_upgrade 来应用此更新版本;您可以直接关闭 PostgreSQL 并更新其二进制文件。
跳过了一个或多个更新版本的用户可能需要执行额外的、更新后的步骤;有关详细信息,请参阅早期版本的发布说明。
有关更多详细信息,请参阅 发行说明。
如果您对此版本公告有任何更正或建议,请将其发送至 pgsql-www@lists.postgresql.org 公共 邮件列表。