PostgreSQL数据库发布了13.3、12.7、11.12、10.17和9.6.22版本,这些版本修复了三个安全漏洞:CVE-2021-32027、CVE-2021-32028、CVE-2021-32029,并修复了过去三个月中报告的45个以上的错误。以下介绍更新内容。新安装请参考在CentOS 8服务器上安装及配置PostgreSQL数据库的方法。
安全问题 1、CVE-2021-32027:数组下标计算中的整数溢出导致缓冲区溢出 受影响的版本:9.6-13。安全团队通常不会测试不支持的版本,但是这个问题已经很老了。 在修改某些SQL数组值时,缺少边界检查可让经过身份验证的数据库用户将任意字节写入服务器内存的广阔区域。 2、CVE-2021-32028:INSERT ... ON CONFLICT ... DO UPDATE问题 受影响的版本:9.6-13。安全团队通常不会测试不支持的版本,该功能首次出现在9.5中。 在特制的表上使用INSERT ... ON CONFLICT ... DO UPDATE命令,攻击者可以读取服务器内存的任意字节。在默认配置中,任何经过身份验证的数据库用户都可以创建必备对象并随意完成此攻击。在所有数据库上都缺少CREATE和TEMPORARY特权而在所有架构上都没有CREATE特权的用户不能随意使用此攻击。 3、CVE-2021-32029:UPDATE ... RETURNING问题 受影响的版本:11-13。 通过在特制的分区表上使用UPDATE ... RETURNING,攻击者可以读取服务器内存的任意字节。在默认配置中,任何经过身份验证的数据库用户都可以创建必备对象并随意完成此攻击。用户在所有数据库上都缺乏CREATE和TEMPORARY特权,而在所有架构上都缺乏CREATE特权通常不能随意使用此攻击。
错误修复和改进 此更新修复了过去几个月中报告的45个以上的错误。其中一些问题仅影响版本13,但也可能影响其他受支持的版本。 其中一些修复程序包括: 修复潜在的不正确的UPDATE ... RETURNING输出计算,以进行联合的跨分区更新。 在分区表的外键约束上使用时,修复ALTER TABLE ... ALTER CONSTRAINT。该命令将无法调整叶分区的约束和触发器的DEFERRABLE和/或INITIALLYDEFERRED属性,从而导致意外行为。更新到此版本后,您可以执行ALTER TABLE ... ALTER CONSTRAINT命令来修复任何行为不当的分区表。 确保将子表与ALTER TABLE ... INHERIT附加在一起时,在父表中生成的列以相同的方式在子表中生成。 禁止将标识列标记为NULL。 允许ALTER ROLE ... SET / ALTER DATABASE ... SET设置角色,session_authorization和temp_buffers参数。 确保REINDEX CONCURRENTLY保留索引的任何统计目标集。 解决了在某些情况下在AFTER触发器中保存记录可能导致崩溃的问题。 修复to_char()如何以负间隔处理罗马数字月份格式的代码。 修正在BRE模式正则表达式中解析\{m,n\}量词时使用未初始化值的问题。 修复了“could not find pathkey item to sort”计划程序错误,该错误在某些情况下在排序键涉及聚合或窗口函数时发生。 修复了BRIN索引位图扫描可能导致“could not open file”错误的问题。 当有许多匹配的记录时,修复来自GIN tsvector索引搜索的可能错误的答案。 修复了服务器和psql上的COMMIT AND CHAIN功能。 从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并更新其二进制文件。另外,跳过一个或多个更新版本的用户可能需要运行其他更新后步骤。
下载链接 PostgreSQL官方网站:https://www.postgresql.org/ PostgreSQL下载地址:https://www.postgresql.org/download/
相关主题 |