2025年9月25日: PostgreSQL 18 发布!

PostgreSQL 10.3、9.6.8、9.5.12、9.4.17 和 9.3.22 发布!

发布于 2018-03-01,作者:PostgreSQL 全球开发组
PostgreSQL 项目

2018-03-01 安全更新发布

PostgreSQL 全球开发组发布了对所有受支持版本的 PostgreSQL 数据库系统的更新,包括 10.3、9.6.8、9.5.12、9.4.17 和 9.3.22。

本次发布旨在解决 CVE-2018-1058,该漏洞描述了一个用户可以在不同模式(schema)下创建同名对象,从而改变其他用户的查询行为并导致意外或恶意行为,也称为“特洛伊木马”攻击。本次发布的大部分内容集中在新增文档,这些文档描述了该问题以及如何采取措施减轻对 PostgreSQL 数据库的影响。

我们强烈建议所有用户访问 CVE-2018-1058 指南:保护您的搜索路径,以详细了解 CVE-2018-1058 的解释以及如何保护您的 PostgreSQL 安装。

在评估了 CVE-2018-1058 的文档后,数据库管理员可能需要在其 PostgreSQL 安装上采取后续步骤,以确保其免受利用。

安全问题

本次发布解决了 1 项安全漏洞

  • CVE-2018-1058:pg_dump 和其他客户端应用程序中的不受控制的搜索路径元素

请访问 CVE-2018-1058 指南:保护您的搜索路径,以获得 CVE-2018-1058 的完整解释。

错误修复和改进

本次更新修复了自上次累积更新以来报告的多个错误。其中一些问题仅影响版本 10,但许多问题影响所有受支持的版本。这些修复包括:

  • 防止逻辑复制尝试复制不可发布的关联(例如物化视图和“information_schema”表)的更改
  • 修复了在并发更新重检的子计划中引用时,公用表表达式(WITH 子句)返回正确结果的问题
  • 修复了在某些情况下,外连接(OUTER JOIN)中存在重叠的合并连接子句时,查询规划器出现的意外错误。
  • 修复了运行 pg_upgrade 后物化视图可能导致数据损坏的问题。如果收到类似“无法访问事务状态”或“found xmin from before relfrozenxid”的错误,请使用不带“CONCURRENTLY”的“REFRESH MATERIALIZED VIEW”进行修复。
  • 修复了 pg_dump 的多处问题,包括有助于未来进行跨表统计工作的修复
  • 修复了报告 PL/Python 函数相对于内部 PL/Python 函数的堆栈跟踪问题
  • 允许 contrib/auto_explain 的范围达到 INT_MAX,大约为 24 天
  • 将各种配置变量标记为 PGDLLIMPORT,以方便将扩展模块移植到 Windows

致谢

PostgreSQL 全球开发组感谢 Arseniy Sharoglazov 将 CVE-2018-1058 报告给安全团队。

链接