安全更新 2011-02-01 发布

发布于 2011-01-31

PostgreSQL 全球开发组今天发布了 PostgreSQL 对象关系数据库系统的所有活跃分支的安全更新,包括 9.0.3、8.4.7、8.3.14 和 8.2.20 版本。

此更新包含一个安全修复程序,可防止 contrib 模块 <u>intarray</u> 的 query_int 类型输入函数中出现缓冲区溢出。此错误是一个安全风险,因为该函数的返回地址可能会被恶意代码覆盖。

所有受支持的 PostgreSQL 版本都受到影响。但是,受影响的 contrib 模块是可选的。只有在其数据库中安装了 intarray 模块的用户才会受到影响。 请参阅 CVE 咨询。

此版本包含 63 个错误修复,其中包括:

  • 避免计划器中对遥远日期值进行意外的转换溢出;
  • 修复赋值给现有下标范围之前的数组切片的问题;
  • 修复 pg_restore 在转义大对象时执行正确操作的问题;
  • 避免 EXPLAIN 尝试显示简单形式的 CASE 表达式时出现故障;
  • 改进了 Windows 版本的构建支持;
  • 修复了 contrib/seg 的 GiST picksplit 算法中导致性能下降的错误。

9.0.3 更新还包含对 9.0 版本中引入或更改的功能的一些问题的修复。

  • 确保在退出 walreceiver 之前,所有接收到的 WAL 都被 fsync'd 到磁盘;
  • 通过避免过多的 fsync 活动来提高 walreceiver 的性能;
  • 使 ALTER TABLE 在需要时重新验证唯一性和排除约束;
  • 修复当表不完全相同时,EvalPlanQual 对继承树的 UPDATE 问题。

总体而言,这些版本包含对 9.0 的 33 个补丁、对 8.4 的 20 个补丁、对 8.3 的 20 个补丁以及对 8.2 的 18 个补丁。

请参阅每个版本的发行说明,以获取包含详细信息的完整更改列表。

与其他次要版本一样,用户无需转储并重新加载数据库即可应用此更新版本;您只需关闭 PostgreSQL 并更新其二进制文件即可。跳过多个更新的用户可能需要检查发行说明以了解额外的

更新后步骤。

立即下载新版本

这篇文章是从 PostgreSQL 网站的先前版本迁移过来的。对于迁移造成的任何格式问题,我们深表歉意。