重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 807|回复: 0
打印 上一主题 下一主题

PostgreSQL 16.3、15.7、14.12、13.15 和 12.19 发布

[复制链接]
跳转到指定楼层
楼主
发表于 2024-5-10 15:39:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
PostgreSQL 全球开发组发布了所有受支持的 PostgreSQL 版本的更新,包括 16.3、15.7、14.12、13.15 和 12.19。此版本修复了一个安全漏洞以及过去几个月报告的超过 55 个错误。
在系统视图 pg_stats_ext 和中发现了一个安全漏洞pg_stats_ext_exprs,可能允许经过身份验证的数据库用户查看他们没有足够权限查看的数据。此漏洞的修复仅修复新的 PostgreSQL 安装,即 initdb应用此修复后使用该实用程序创建的安装。如果您当前安装了 PostgreSQL 并且担心此问题,请按照“更新”部分中的说明进行修复步骤。
有关更改的完整列表,请查看 发行说明: https://www.postgresql.org/docs/release/

PostgreSQL 12 EOL 通知
PostgreSQL 12 将于 2024 年 11 月 14 日停止接收修复。如果您在生产环境中运行 PostgreSQL 12,我们建议您制定计划升级到更新的受支持版本的 PostgreSQL。请参阅我们的 版本控制政策以获取更多信息。
https://www.postgresql.org/support/versioning/

安全问题CVE-2024-4317:限制pg_stats_ext和pg_stats_ext_exps表项对表所有者的可见性
CVSS v3.1 基本分数:3.1
支持的易受攻击的版本:14 - 16。
在PostgreSQL内置视图pg_stats_ext和pg_stats_ext_exprs中,缺少授权允许非特权数据库用户从其他用户的CREATE statistics命令中读取大多数常见值和其他统计数据。最常见的值可能会显示窃听者无法读取的列值或无法执行的函数的结果。
此修复仅修复新安装的PostgreSQL,即在应用此修复后使用initdb实用程序创建的PostgreSQL。如果你有一个当前的PostgreSQL安装,并且担心这个问题,请按照“更新”部分的说明进行修复步骤。
PostgreSQL项目感谢Lukas Fittl报告了这个问题。

Bug修复和改进
此更新修复了过去几个月报告的超过 55 个错误。下面列出的问题会影响 PostgreSQL 16。其中一些问题也可能会影响其他受支持的 PostgreSQL 版本。
修复了INSERT 多行VALUES 子句的问题,其中目标列是数组或复合类型上的域。
使用MERGE(MERGE ... DO NOTHING)时需要目标表的SELECT 权限
根据SQL标准,如果MERGE中的目标行在修改期间连接到多个源行,则抛出错误。
修复了当表在布尔列上进行分区并且查询具有布尔is NOT子句时对NULL分区进行错误修剪的问题。
ALTER FOREIGN TABLE ... SET SCHEMA 所有拥有的序列移动到新模式中。
CREATE DATABASE 现在识别STRATEGY关键字时不区分大小写。
修复了EXPLAIN在位图堆扫描期间对堆页面进行计数的方式 ,以显示所有计数的页面,而不仅仅是具有可见元组的页面。
避免在删除孤立临时表期间出现死锁。
对VACUUM进行了几个修复,其中一个可以减少不必要的I/O。
修复了几个查询规划器。
添加对安装具有数千个角色的某些操作的优化。
修复返回单个复合类型列的 SQL 语言过程的混淆。
修复date_bin()中不正确舍入和溢出危险。
在时间戳中添加或减去间隔时检测整数溢出。
修复逻辑复制的几个竞争条件,包括确定是否需要表同步操作。
如果一个新的服务器会话的客户端套接字不能进入非阻塞模式,断开连接。
initdb -c现在匹配参数名称时不区分大小写。
修复 PL/pgSQL 如何解析表达式后面的单行注释( --样式注释)。

更新中
所有 PostgreSQL 更新版本都是累积的。与其他次要版本一样,用户无需转储和重新加载其数据库或使用pg_upgrade数据库即可应用此更新版本;你可以简单地关闭 PostgreSQL 并更新它的二进制文件。
对于受 CVE-2024-4317 影响且希望修复该问题的现有安装,您必须执行以下步骤:
1. 查找SQL脚本fix-CVE-2024-4317。在PostgreSQL安装的共享目录下(例如/usr/share/postgresql/),或者从PostgreSQL git存储库下载。你需要使用与主版本匹配的脚本:




在上述 URL 中,您可以单击标有“raw”的 URL 下载可复制和粘贴的版本。
请务必使用适合您的 PostgreSQL 主要版本的脚本。如果您没有看到此文件,则要么您的版本不易受到攻击(仅 PostgreSQL 14、15 和 16 受到影响),要么您的次要版本太旧而无法修复。
在集群的每个数据库中,以数据库超级用户身份运行fix-CVE-2024-4317.sql(文件位于 中/usr/share/postgresql/)脚本。例如,在 psql中,执行以下命令:
\i /usr/share/postgresql/fix-CVE-2024-4317.sql
您还必须在template0和template1 数据库中执行此脚本,否则该漏洞仍将存在于您以后创建的数据库中。要修复template0,您需要暂时允许它接受连接。您可以使用以下命令来执行此操作:
ALTER DATABASE template0 WITH ALLOW_CONNECTIONS true;
在template0和template1中执行 fix-CVE-2024-4317.sql的脚本后,您应该取消template0接受连接的能力。你可以使用以下命令:
ALTER DATABASE template0 WITH ALLOW_CONNECTIONS false;
跳过一个或多个更新版本的用户可能需要运行额外的更新后步骤;有关详细信息,请参阅早期版本的发行说明。
有关更多详细信息,请参阅 发行说明https://www.postgresql.org/docs/release/

链接
PostgreSQL 16发布公告:https://www.postgresql.org/about/press/

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-11-28 18:14 , Processed in 0.113915 second(s), 19 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表