PostgreSQL 全球开发组发布了所有支持版本的 PostgreSQL 数据库系统的重要更新,包括小版本 9.3.3、9.2.7、9.1.12、9.0.16 和 8.4.20。此次更新包含多个安全问题的修复,以及一些复制和数据完整性问题的修复。强烈建议所有用户尽快更新其安装版本,特别是那些使用二进制复制或运行高安全应用程序的用户。
此次更新修复了 CVE-2014-0060,在该漏洞中,PostgreSQL 未能正确强制执行 ROLE 管理的 WITH ADMIN OPTION 权限。在此次修复之前,任何 ROLE 的成员都可以授予他人访问相同 ROLE 的权限,无论该成员是否被授予 WITH ADMIN OPTION 权限。此外,还修复了多个权限提升问题,包括:CVE-2014-0061、CVE-2014-0062、CVE-2014-0063、CVE-2014-0064、CVE-2014-0065 和 CVE-2014-0066。有关这些问题的更多信息,请访问 我们的安全页面 和 安全问题详情维基页面。
在此次发布中,我们还警示用户一个已知的安全漏洞,该漏洞允许同一台机器上的其他用户在执行 "make check" 时访问操作系统账户:CVE-2014-0067。"Make check" 通常是在从源代码构建 PostgreSQL 时执行的。由于在不造成我们测试基础设施重大问题的情况下无法修复此问题,补丁将单独公开发布。在此之前,强烈建议用户不要在有不受信任用户账户的机器上运行 "make check"。
此次更新还修复了一些影响二进制复制和行锁定的问题,这些问题在某些情况下可能导致可恢复的数据损坏。修复了复制期间索引页面锁定问题,该问题可能导致副本上的索引损坏。修复了 9.3 版本中的一个事务冻结错误,该错误可能导致多次经历事务 ID 回绕的数据库重新出现旧行版本。我们还修复了三个可能导致新备用服务器启动失败的错误。最后,此次更新修复了一个可能导致外键失效的问题,尽管在应用更新后,外键本身仍需要手动修复。
在 9.3 版本中,这些修复导致添加了几个新的服务器配置设置来控制多事务冻结。重要的是,在更新复制主服务器之前,必须将备用服务器更新到 9.3.3 或更高版本,否则复制将中断。
除上述内容外,此次发布还修复了以下问题:
以下可选模块(扩展)也进行了修复:ECPG、dblink、ISN、pgbench、pg_stat_statements 和 postgres_fdw。更多更改和部分上述问题的详细信息可以在发行说明中找到。
与以往的小版本发布一样,用户无需转储和重新加载数据库或使用 pg_upgrade 即可应用此更新版本;您只需关闭 PostgreSQL 并更新其二进制文件即可。跳过多个更新版本的用户可能需要执行额外的后续步骤;详情请参阅发行说明。