2016-02-11 安全更新发布

发布于 2016-02-11,作者:PostgreSQL 全球开发小组

PostgreSQL 全球开发小组发布了我们数据库系统所有受支持版本的更新,包括 9.5.1、9.4.6、9.3.11、9.2.15 和 9.1.20。此版本修复了两个安全问题,以及过去四个月中发现的几个错误。容易受到安全问题影响的用户应立即更新其安装;其他用户应在下一次计划停机时更新。

正则表达式和 PL/Java 的安全修复

此版本修复了安全漏洞 CVE-2016-0773,即正则表达式 (regex) 解析问题。先前的代码允许用户传入包含超出范围的 Unicode 字符的表达式,从而触发后端崩溃。对于具有不受信任的用户或基于用户输入生成正则表达式的 PostgreSQL 系统来说,此问题至关重要。

此更新还修复了 CVE-2016-0766,这是 PL/Java 用户的一个权限提升问题。现在,PL/Java 的某些自定义配置设置 (GUC) 只能由数据库超级用户修改。

其他修复和改进

除了上述内容外,此版本还根据用户在过去几个月中报告的错误修补了许多其他问题。这包括对 9.5.0 版本中引入的新功能的多个修复,以及对 pg_dump 的重构,以消除备份 EXTENSION 的许多长期问题。其中包括:

  • 修复 pg_dump 中特定对象类型的许多问题
  • 防止过度急切地向下推送用于 GROUPING SETS 的 HAVING 子句
  • 修复 ON CONFLICT ... WHERE 子句的反解析错误
  • 修复 postgres_fdw 的 tableoid 错误
  • 防止 pgbench 中的浮点异常
  • 使 \det 始终如一地搜索外表名称
  • 修复 pg_dump 中域约束名称的引号问题
  • 防止将展开的对象放入 Const 节点
  • 允许在 Windows 上编译 PL/Java
  • 修复 PL/Python 执行中的“未解析的符号”错误
  • 允许在同一数据库中使用 Python2 和 Python3
  • 在 PL/Python 中添加对 Python 3.5 的支持
  • 修复 initdb 期间子目录创建的问题
  • 使 pg_ctl 在 Windows 上正确报告状态
  • 在使用 pg_receivexlog 与较旧的服务器时,禁止显示令人困惑的错误
  • 多个文档更正和补充
  • 修复 gin_extract_jsonb_path() 中的错误哈希计算

此更新还包含 tzdata 2016a 版本,其中包含开曼群岛、梅特拉卡特拉、外贝加尔地区(外贝加尔边疆区)和巴基斯坦的更新。

更新

9.4 版的用户需要重新索引他们创建的所有 jsonb_path_ops 索引,以修复索引条目丢失的持续问题。跳过了多个更新版本的其他版本的用户可能需要执行额外的更新后步骤;请参阅发行说明了解详细信息。

所有 PostgreSQL 更新版本都是累积的。与其他次要版本一样,用户无需转储和重新加载数据库或使用 pg_upgrade 即可应用此更新版本;您可以简单地关闭 PostgreSQL 并更新其二进制文件。

链接