2015-10-08 安全更新发布

由 PostgreSQL 全球开发组于 2015-10-08 发布

PostgreSQL 全球开发组发布了我们数据库系统所有受支持版本的更新,包括 9.4.5、9.3.10、9.2.14、9.1.19 和 9.0.23。此版本修复了两个安全问题,以及过去四个月发现的几个错误。容易受到安全问题影响的用户应立即更新其安装;其他用户应在下次计划停机时进行更新。这也是主版本 9.0 的最终更新版本。

安全修复

此版本修复了两个安全问题,这些问题会影响特定 PostgreSQL 功能的用户

CVE-2015-5289:由任意用户输入构造的 json 或 jsonb 输入值可能会导致 PostgreSQL 服务器崩溃并导致拒绝服务。

CVE-2015-5288:可选的 pgCrypto 扩展中包含的 crypt() 函数可能会被利用来读取一些额外的内存字节。尚未开发出针对此问题的有效利用方式。

PostgreSQL 项目感谢 Josh Kupershmidt 和 Oskari Saarenmaa 报告这些问题。

此更新还将默认禁用 SSL 重新协商;以前,默认情况下启用它。SSL 重新协商将在 PostgreSQL 9.5 及更高版本中完全删除。

其他修复和改进

除了上述内容外,此版本还根据用户在过去几个月报告的错误修复了许多其他问题。这些修复包括

  • 防止深度嵌套的正则表达式、LIKE 和 SIMILAR 匹配导致服务器崩溃
  • 多个其他正则表达式处理方面的修复
  • 确保 ALTER TABLE 为 CONSTRAINT 修改设置所有锁
  • 修复游标失败时的子事务清理,防止崩溃
  • 防止在设置 commit_delay 时在 WAL 插入期间发生死锁
  • 修复可更新视图更新期间的锁定
  • 防止关系缓存“初始化文件”损坏
  • 提高大型 SPI 查询结果的性能
  • 提高 LISTEN 启动时间
  • 默认禁用 SSL 重新协商
  • 降低 *_freeze_max_age 参数的最小值
  • 将 wal_buffers 的最大值限制为 2GB
  • 防止几个区域中潜在的堆栈溢出
  • 修复日期时间输入中 DOW 和 DOY 的处理
  • 允许更早取消正则表达式查询
  • 修复各种规划器错误
  • 修复 postmaster 中的几个关闭问题
  • 使反环绕自动清理更加健壮
  • 修复 GIN 和 SP-GiST 索引的次要问题。
  • 修复 PL/Python、PL/Perl 和 PL/Tcl 的几个问题
  • 改进 pg_stat_statements 的垃圾回收
  • 改进 pgsql_fdw 中的排序规则处理
  • 改进 libpq 对内存不足情况的处理
  • 防止 psql 在没有当前连接时崩溃
  • 对 pg_dump 进行多项修复,包括文件和对象权限
  • 改进从旧 PostgreSQL 版本转储时的权限处理
  • 修复对 Alpha、PPC、AIX 和 Solaris 平台的支持问题
  • 修复 Windows 在中文区域设置下的启动问题
  • 修复 Windows install.bat 脚本以处理文件名中的空格
  • 使扩展程序可以使用数字 PostgreSQL 版本号

此更新还包含 tzdata 版本 2015g,其中包含对开曼群岛、斐济、摩尔多瓦、摩洛哥、诺福克岛、朝鲜、土耳其、乌拉圭以及新区域 America/Fort_Nelson 的更新。

9.0 的最终更新

9.0.23 是主版本 9.0 的最终更新,该版本已按计划达到生命周期结束 (EOL)。未来的安全更新将不包括 9.0 版本。因此,该版本的用户应尽快计划升级到另一个主要版本。有关社区支持策略和 EOL 时间表的更多信息,请参阅 版本控制策略

更新

所有 PostgreSQL 更新版本都是累积的。与其他次要版本一样,用户不需要转储并重新加载其数据库或使用 pg_upgrade 来应用此更新版本;您只需关闭 PostgreSQL 并更新其二进制文件即可。跳过多次更新版本的用户可能需要执行额外的更新后步骤;请参阅发行说明了解详细信息。

链接