华象新闻 | 2月20日前谨慎升级 PostgreSQL 版本
各位 PostgreSQL 用户,建议近期进行升级 PostgreSQL 版本。
2月20日计划进行非周期性版本发布
PostgreSQL全球开发团队计划于2025年2月20日进行一次非周期性发布,以解决2025年2月13日更新版本中引入的一个回归问题。
2月13日的更新版本包括了17.3、16.7、15.11、14.16和13.19版本。
作为此次发布的一部分,我们将为所有受支持的版本(17.4、16.8、15.12、14.17和13.20)提供修复。虽然这些修复可能不会影响所有PostgreSQL用户,但PostgreSQL全球开发团队认为,与其等到2025年5月8日的下一次计划发布,不如尽早解决这些问题。
CVE-2025-1094的修复引入了回归问题
CVE-2025-1094的修复关闭了libpq PostgreSQL客户端库中的一个漏洞,但引入了一个与非空终止字符串处理相关的回归问题。该错误是否显现取决于PostgreSQL客户端如何实现这一行为,可能不会影响所有PostgreSQL驱动程序。作为预防措施,PostgreSQL全球开发团队决定进行后续发布。
受影响用户的建议
如果您受到此问题的影响,我们建议您在升级之前等待17.4、16.8、15.12、14.17和13.29版本的发布。
2月13日,PostgreSQL 17.3, 16.7, 15.11, 14.16, 13.19 发版
PostgreSQL 全球开发团队已发布对所有受支持的 PostgreSQL 版本的更新,包括 17.3、16.7、15.11、14.16 和 13.19。此版本修复了过去几个月报告的 1 个安全漏洞和 70 多个错误。
安全漏洞:CVE-2025-1094
CVE-2025-1094:PostgreSQL 引用 API 未能中和未通过编码验证的文本中的引用语法
PostgreSQL libpq 函数 PQescapeLiteral()、PQescapeIdentifier()、PQescapeString() 和 PQescapeStringConn() 中引用语法的不当中和允许数据库输入提供程序在某些使用模式下实现 SQL 注入。具体而言,SQL 注入要求应用程序使用函数结果来构造对 PostgreSQL 交互式终端 psql 的输入。同样,当 client_encoding 为 BIG5 且 server_encoding 为 EUC_TW 或 MULE_INTERNAL 之一时,PostgreSQL 命令行实用程序中引用语法的不当中和允许命令行参数源实现 SQL 注入。PostgreSQL 17.3、16.7、15.11、14.16 和 13.19 之前的版本受到影响。
PostgreSQL 项目感谢 Rapid7 首席安全研究员 Stephen Fewer 报告此问题。
错误修复和改进
此更新修复了过去几个月报告的 70 多个错误。下面列出的问题会影响 PostgreSQL 17。其中一些问题也可能会影响其他受支持的 PostgreSQL 版本。
-
恢复连接请求中大于 63 字节的数据库名称和用户名的 v17 之前的截断行为。 -
不要对并行工作器执行连接权限检查和限制,而是从领导进程继承这些。 -
从 LWLock 等待事件名称中删除 Lock 后缀。 -
修复可能在窗口聚合中重复使用陈旧结果的问题,这可能会导致结果不正确。 -
修复了几个针对真空的竞争条件问题,在最坏的情况下可能会导致系统目录损坏。
更多内容请参考发版说明:
https://www.postgresql.org/docs/release/17.3/
本文由 mdnice 多平台发布