IT资讯 PostgreSQL 15.4、14.9、13.12、12.16、11.21 和 16 Beta 3 发布

saraph · 2023-08-11 17:30:07 · 热度: 50

PostgreSQL 全球开发组针对当前所有被支持版本发布了一次更新,版本包括:15.4、14.9、13.12、12.16 和 11.21,以及 PostgreSQL 16 的第三个测试版。此版本修复了两个安全漏洞并修复了过去几个月报告的 40 多个 bug。

如果你使用 BRIN 索引来查找NULL值, 则升级到此版本后需要重新索引它们。在 PostgreSQL 12 及更高版本上,你可以使用 REINDEX CONCURRENTLY 以避免阻止对受影响的索引和表的写入,例如:REINDEX INDEX CONCURRENTLY your_index_name;

有关更改的完整列表,可查看 发行说明

PostgreSQL 11 EOL 通知

PostgreSQL 11 将于 2023 年 11 月 9 日停止接收修复。如果你在生产环境中运行 PostgreSQL 11,建议制定计划升级到更新的受支持版本的 PostgreSQL。参阅版本控制政策以获取更多信息。

安全问题

CVE-2023-39417 :引用中的扩展脚本@substitutions@允许 SQL 注入。

支持的、易受攻击的版本:11 - 15。安全团队通常不会测试不受支持的版本,但这个问题已经存在很久了。

如果扩展脚本在 quoting 结构 (dollar quoting, '', or "") 内使用 @extowner@@extschema@@extschema:...@,则容易受到攻击。没有捆绑的扩展名存在漏洞。在文档示例和非捆绑扩展中确实存在漏洞。因此,攻击的先决条件是管理员安装了易受攻击的、受信任的、非捆绑扩展的文件。在这一前提条件下,拥有数据库级CREATE权限的攻击者就能以引导超级用户身份执行任意代码。PostgreSQL 将在核心服务器中阻止这种攻击,因此无需修改个别扩展。

CVE-2023-39418MERGE无法强制执行UPDATESELECT行安全策略。

支持的、易受攻击版本:15。

PostgreSQL 15 引入了MERGE命令,该命令无法根据为UPDATESELECT定义的行安全策略测试新行 。如果UPDATESELECT策略禁止某些行,而INSERT策略不禁止,则用户可以存储此类行。后续后果取决于应用程序。这仅影响用于CREATE POLICY定义行安全策略的数据库。​​​​​​​​​​​​​​

错误修复和改进

下面列出的问题会影响 PostgreSQL 15,其中一些问题也可能会影响其他受支持的 PostgreSQL 版本。

  • 修复了 BRIN 索引中NULL值的处理。此修复不适用于现有 BRIN 索引 - 用户将需要运行REINDEX来修复任何用于搜索 NULL 值的 BRIN 索引。
  • 避免在 DROP DATABASE 中断时留下损坏的数据库。
  • 针对分区索引的多项修复。
  •  修复如果扩展包含扩展架构之外的任何对象的ALTER EXTENSION ... SET SCHEMA错误。
  • 修复表访问方法的依赖性跟踪。
  • 不要在规划器中使用部分唯一索引来证明唯一性。
  • 扩展规则操作时,正确处理 RLS 策略表达式和 security-barrier 视图中的子 SELECT。
  • 修复SERIALIZABLE事务隔离模式冲突检测中的 race conditions。
  • 修复尝试更新需要 out-of-line TOASTing 的复合列的字段时出现的间歇性故障。
  • 修复查询生命周期中发生的多个内存泄漏。
  • 在 jsonpathdatetime()方法的输入中接受小数秒 。
  • pg_hba.confpg_ident.conf中的 token 限制增至 10,240 字节。
  • JIT 的内存不足错误现在将导致 PostgreSQLFATAL错误而不是 C++ 异常。
  • 允许在检测到某些类型的 B-tree 索引损坏后继续使用VACUUM。虽然此修复允许 VACUUM 继续,但用户仍然需要REINDEX修复损坏的索引。
  • 避免在崩溃恢复期间 double replay 已准备好的事务。
  • 确保新创建空表上的 checkpoint calls fsync。
  • Silence“missing contrecord”错误,以避免记录来自 pg_waldumpwalsender的不准确消息。
  • 修复 [fuzzystrmatch] (https://www.postgresql.org/docs/current/fuzzystrmatch.html Soundex difference() 函数以正确处理空输入。
  • 针对intarray的若干修复,包括禁止在 GiST 索引中使用过大的输入数组。
  • 修复pg_dump以正确处理需要解析时依赖于唯一索引的SQL 标准函数体 (BEGIN ATOMIC)。

有关可用更改的完整列表,可查看 发行说明

PostgreSQL 16 Beta 3 中的修复

  • psql中添加\drg命令,以显示有关角色授权信息。
  • 在使用pg_waldump --save-fullpage生成的文件名中添加 timeline ID。
  • 修复 parallel VACUUM worker 中发生死锁后的崩溃问题。

参阅发行说明以获取新功能和更改功能的完整列表。

下载地址:https://www.postgresql.org/download/

为您推荐与 postgresql 相关的帖子:

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册