PostgreSQL Global Development Group 发布了所有支持版本数据库系统的更新,包括 12.3、11.8、10.13、9.6.18 和 9.5.22。本次发布修复了一个 PostgreSQL 服务器中的安全漏洞,以及过去三个月报告的 75 个以上的 bug。
请尽快安排更新。
受影响版本:9.5 - 12。安全团队不测试不受支持的版本,但此问题存在于 PostgreSQL 9.5 之前。
PostgreSQL 的 Windows 安装程序会调用系统提供的、未完全限定路径的可执行文件。安装程序加载目录中的可执行文件或当前工作目录中的可执行文件会优先于预期的可执行文件。有权限将文件添加到其中一个目录中的攻击者可以利用此漏洞,以安装程序的管理员权限执行任意代码。
PostgreSQL 项目感谢 Hou JingYi (@hjy79425575) 报告此问题。
本次更新还修复了过去几个月报告的 75 个以上的 bug。其中一些问题仅影响 12 版本,但也可能影响所有支持的版本。
部分修复包括:
ALTER TABLE 的几项修复,包括确保 SET STORAGE 指令传播到表的索引。DROP OWNED BY 时,另一个会话正在删除相同对象的潜在竞态条件。REINDEX CONCURRENTLY 的几项修复,特别是当 REINDEX CONCURRENTLY 操作失败时的问题。VACUUM VERBOSE 输出的几项报告修复。(x,y),r 格式。get_bit() 和 set_bit() 函数在长度超过 256MB 的 bytea 字符串上不失败。synchronous_standby_names 设置时发生的一个。pg_read_all_stats 角色的成员可以读取所有统计信息视图。sslmode=verify-full 时 libpq 中的内存泄漏。psql 在尝试重新建立失败连接时发生的崩溃。psql 中对 \gx 命令的文件名参数进行制表符补全。ALTER ... DEPENDS ON EXTENSION 添加 pg_dump 支持。pg_dump 的几项其他修复,包括转储 RLS 策略的注释以及将事件触发器的恢复推迟到最后。pg_basebackup 生成有效的 tar 文件。pg_checksums 跳过属于不同 PostgreSQL 主版本的表空间子目录。本次更新还包含了 tzdata 2020a 版本,用于摩洛哥和加拿大育空地区的 DST 法规变更,以及上海的历史修正。America/Godthab 时区已重命名为 America/Nuuk,以反映当前英语用法;但是,旧名称仍作为兼容性链接可用。此次更新还更新了 initdb 已知的 Windows 时区名称列表,以包含最近添加的名称。
有关所有可用更改的完整列表,请参阅 发行说明。
所有 PostgreSQL 更新版本都是累积的。与其他次要版本一样,用户不需要转储和重新加载数据库或使用 pg_upgrade 来应用此更新版本;您可以直接关闭 PostgreSQL 并更新其二进制文件。
跳过了一个或多个更新版本的用户可能需要执行额外的、更新后的步骤;有关详细信息,请参阅早期版本的发布说明。
有关更多详细信息,请参阅 发行说明。