PostgreSQL 9.2.4、9.1.9、9.0.13 和 8.4.17 发布

由 PostgreSQL 全球开发组发布于 2013-04-04

PostgreSQL 全球开发组发布了 PostgreSQL 数据库系统所有当前版本的安全更新,包括 9.2.4、9.1.9、9.0.13 和 8.4.17 版本。此更新修复了 9.0 及更高版本中的一个高风险安全漏洞。强烈建议受影响版本的所有用户立即应用此更新。

此版本中修复的一个主要安全问题 CVE-2013-1899 使得可以构造一个包含以 "-" 开头的数据库名称的连接请求,从而损坏或销毁服务器数据目录中的文件。任何有权访问 PostgreSQL 服务器监听端口的人都可以发起此请求。此问题由 NTT 开源软件中心的近藤光正和堀口恭太郎发现。

此版本还包括两个较小的安全修复:CVE-2013-1900,其中 contrib/pgcrypto 函数生成的随机数可能容易被另一个数据库用户猜测;以及 CVE-2013-1901,它错误地允许非特权用户运行可能干扰正在进行备份的命令。最后,此版本修复了 Linux 和 Mac OS X 图形安装程序的两个安全问题:不安全地将超级用户密码传递给脚本 CVE-2013-1903 以及在 /tmp 中使用可预测的文件名 CVE-2013-1902。Marko Kreen、Noah Misch 和 Stefan Kaltenbrunner 分别报告了这些问题。

我们感谢每位开发人员为使 PostgreSQL 更加安全所做的努力。

此版本还修正了 GiST 索引管理中的几个错误。安装此更新后,建议对满足以下一个或多个条件的任何 GiST 索引执行 REINDEX 操作。

此更新版本还包含过去两个月中 PostgreSQL 社区发现和修补的许多小问题的修复,包括

  • 修复 GiST 索引,使其不使用“模糊”几何比较来比较 box、polygon、circle 和 point 列
  • 修复 contrib/btree_gist 中针对 text、bytea、bit 和 numeric 列的 GiST 索引的错误
  • 修复多列 GiST 索引的页面拆分代码中的错误
  • 修复 WAL 重放中导致“不正确的本地 pin 计数”错误的缓冲区泄漏
  • 确保在存在 recovery.conf 时,在不干净关闭期间进入存档恢复之前进行崩溃恢复
  • 避免在崩溃恢复期间删除尚未存档的 WAL 文件
  • 修复 DELETE RETURNING 中的竞争条件
  • 修复在向依赖于另一个视图的视图添加列后可能发生的规划器崩溃
  • 消除 PL/Perl 的 spi_prepare() 函数中的内存泄漏
  • 修复 pg_dumpall 以正确处理包含 "=" 的数据库名称
  • 避免在给出错误的连接字符串时 pg_dump 中发生崩溃
  • 在 pg_dump 和 pg_upgrade 中忽略无效索引
  • 使用 pg_basebackup 备份表空间时,仅包含当前服务器版本的子目录
  • 在 pg_basebackup 和 pg_receivexlog 中添加服务器版本检查
  • 修复 contrib/dblink 以安全地处理 DateStyle 或 IntervalStyle 的不一致设置
  • 修复 contrib/pg_trgm 的 similarity() 函数,使其对于不含三字母组的字符串返回零
  • 允许使用 Microsoft Visual Studio 2012 构建 PostgreSQL
  • 更新智利、海地、摩洛哥、巴拉圭和一些俄罗斯地区 DST 法律变更的时区数据文件

与往常一样,更新版本仅需要安装软件包并重新启动数据库系统。您无需为此更新版本执行转储/恢复或使用 pg_upgrade。跳过多个更新版本的用户可能需要执行额外的更新后步骤;请参阅发行说明了解详细信息。

链接