PostgreSQL 13.3、12.7、11.12、10.17和9.6.22发布了!




本文转自:https://www.postgresql.org/about/news/postgresql-133-127-1112-1017-and-9622-released-2210/


首发:https://pgfans.cn/a?id=1076


PostgreSQL 13.3、12.7、11.12、10.17和9.6.22发布了!


发表于2021-05-13 by PostgreSQL Global Development Group


PostgreSQL全球开发小组发布了对我们数据库系统所有受支持版本的更新,包括13.3、12.7、11.12、10.17和9.6.22。此版本关闭了三个安全漏洞,并修复了过去三个月中报告的45个以上的错误。


有关更改的完整列表,请查看发行说明。


安全问题


CVE-2021-32027:数组下标计算中的整数溢出导致缓冲区溢出

受影响的版本:9.6-13

安全团队通常不会测试不支持的版本,但是这个问题已经很老了。

在修改某些SQL数组值时,缺少边界检查可让经过身份验证的数据库用户将任意字节写入服务器内存的广阔区域。

PostgreSQL项目感谢Tom Lane报告此问题。


CVE-2021-32028:中的内存公开INSERT … ON CONFLICT … DO UPDATE

受影响的版本:9.6-13

安全团队通常不会测试不支持的版本。该功能首次出现在9.5中。

INSERT … ON CONFLICT … DO UPDATE攻击者可以使用特定目的表上的命令来读取服务器内存的任意字节。在默认配置中,任何经过身份验证的数据库用户都可以创建必备对象并随意完成此攻击。在所有数据库上都缺少CREATE和TEMPORARY特权,而CREATE在所有架构上都没有特权的用户不能随意使用此攻击。

PostgreSQL项目感谢Andres Freund报告此问题。


CVE-2021-32029:分区表中的内存公开UPDATE … RETURNING

受影响的版本:11-13

使用UPDATE … RETURNING特制的分区表,攻击者可以读取服务器内存的任意字节。在默认配置中,任何经过身份验证的数据库用户都可以创建必备对象并随意完成此攻击。在所有数据库上都缺少CREATE和TEMPORARY特权以及CREATE在所有架构上都没有特权的用户通常无法随意使用此攻击。

PostgreSQL项目感谢Tom Lane报告此问题。


错误修复和改进


此更新修复了过去几个月中报告的45个以上的错误。其中一些问题仅影响版本13,但也可能适用于其他受支持的版本。


其中一些修复程序包括:


  • 修复潜在的UPDATE … RETURNING对连接的跨分区更新的输出不正确的计算。

  • ALTER TABLE … ALTER CONSTRAINT在分区表上的外键约束上使用时进行修复。该命令将无法调整叶子分区的约束和触发器的DEFERRABLE和/或 INITIALLY DEFERRED属性,从而导致意外行为。更新到此版本后,您可以执行ALTER TABLE … ALTER CONSTRAINT命令来修复所有分区表异常的情况。

  • 确保将子表与ALTER TABLE … INHERIT父表一起生成时,在父表中以相同的方式生成列。

  • 禁止将标识列标记为NULL。

  • 允许ALTER ROLE … SET/ALTER DATABASE … SET设置角色,session_authorization和temp_buffers参数。

  • 确保REINDEX CONCURRENTLY保留索引的任何统计目标集。

  • 解决了在某些情况下将记录保存在AFTER触发器中可能导致崩溃的问题。

  • 修复to_char()以负间隔处理罗马数字月份格式代码的方式。

  • 修正{m,n}在BRE模式正则表达式中解析量词时使用未初始化值的问题。

  • 修复了“无法找到要排序的路径键项目”计划程序错误,该错误在某些情况下在排序键涉及聚合或窗口函数时发生。

  • 修复了BRIN索引位图扫描可能导致“无法打开文件”错误的问题。

  • tsvector当有许多匹配的记录时,修复来自GIN索引搜索的潜在错误答案。

  • 修复COMMIT AND CHAIN了服务器和上的功能psql。

  • 从WAL中恢复未提交的两阶段事务时,请避免错误的时间轴更改,因为这可能导致一致性问题和无法重新启动服务器。

  • 确保在较新的FreeBSD发行版wal_sync_method中将其fdatasync默认设置为。

  • 禁用vacuum_cleanup_index_scale_factor参数和存储选项。

  • 修复服务器中的多个内存泄漏,包括使用SSL / TLS参数初始化的一次内存泄漏。

  • 恢复以前的行为\connect service=XYZ来psql,即禁止环境变量(例如PGPORT从服务文件覆盖项)。

  • 修复如何pg_dump处理分区表中的生成列。

  • 向pg_upgrade包含不可升级数据类型的用户表添加其他检查。

  • 在Windows上,initdb现在打印有关如何pg_ctl使用反斜杠分隔符启动服务器的说明。

  • 修复pg_waldump了在生成每条记录统计信息时正确计数XACT记录的问题。


有关可用更改的完整列表,请查看 发行说明。


PostgreSQL 9.6停产通知


PostgreSQL 9.6将在2021年11月11日停止接收修复。如果您在生产环境中运行PostgreSQL 9.6,我们建议您计划升级到受支持的较新版本的PostgreSQL。请参阅我们的 版本控制政策以获取更多信息。


更新中


所有PostgreSQL更新版本都是累积性的。与其他次要版本一样,不需要用户转储和重新加载其数据库或使用pg_upgrade该更新版本;您可以简单地关闭PostgreSQL并更新其二进制文件。


跳过一个或多个更新版本的用户可能需要运行其他更新后步骤;有关详细信息,请参见早期版本的发行说明。


有关更多详细信息,请参见发行说明。


链接


下载


发行说明


安全


版本政策


在Twitter上关注@postgresql

社区公众号二维码
相关内容