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

2008-01-07 累计安全更新发布

发布于 2008-01-06

今天 PostgreSQL 全球开发组发布了更新版本,修复了五个安全漏洞。这些版本更新了所有当前的 PostgreSQL 版本,包括 8.2、8.1、8.0、7.4 和 7.3。它们被认为是严重的,PostgreSQL DBA 和系统管理员应尽快安装更新。我们的安全团队已尽一切努力使这些补丁向后兼容,升级不需要转换数据文件。

请阅读本消息的其余部分以获取更多重要细节和公告。

安全修复详情

本次发布包含五项安全修复。目前已知没有任何一个问题曾在实际应用中被利用;它们都是通过安全分析发现的。

索引函数权限提升 (CVE-2007-6600): 作为一项独特功能,PostgreSQL 允许用户创建用户定义函数的索引,即“表达式索引”。这导致了两个权限提升漏洞:(1) 在 VACUUM 和 ANALYZE 期间,索引函数以超级用户的身份执行,而不是表所有者;(2) SET ROLE 和 SET SESSION AUTHORIZATION 在索引函数内被允许。这两个漏洞现已修复。

正则表达式拒绝服务 (CVE-2007-4772, CVE-2007-6067, CVE-2007-4769): PostgreSQL 使用的正则表达式库中的三个独立问题允许恶意用户通过在 SQL 查询中传递某些正则表达式来发起拒绝服务攻击。首先,用户可以使用某些特定的正则表达式创建无限循环。其次,某些复杂的正则表达式可能会消耗过多的内存。第三,越界的后向引用数字可能导致后端崩溃。所有这些问题都已修复。

DBLink 权限提升 (CVE-2007-6601): DBLink 函数结合本地信任或 ident 认证,可能被恶意用户用来获得超级用户权限。此问题已修复,并且不影响未安装 DBLink(可选模块)的用户,或本地访问使用密码认证的用户。同样的问题在之前的发布周期中也得到解决(请参阅 CVE-2007-3278),但该补丁未能完全堵塞漏洞。

EOL 通知

PostgreSQL 7.3 版本的小版本 7.3.21 将是 7.3 分支的最后一次更新。由于 7.3 版本已超过五年,社区在此次发布后将不再为其发布补丁。鼓励 7.3 版本用户尽快升级到更新的版本,或寻求愿意继续为其进行回溯修复的商业支持供应商的支持。

8.1.11 和 8.0.15 也是 PostgreSQL 社区将为 Windows 平台提供的最后 8.1 和 8.0 二进制包的更新版本。鼓励 Windows 用户迁移到 8.2.6 或更高版本,因为 8.2 中存在难以回溯到旧版本的 Windows 特定修复。8.1 和 8.0 的更新将在其他平台上以及源代码形式上继续提供支持。

下载和安装

PostgreSQL 小版本 8.2.6、8.1.11、8.0.15、7.4.19 和 7.3.21 可通过我们的 FTP 镜像网络获取。

如果您需要有关本次更新的更多信息,可以在我们的 发布说明 中找到。这些升级可以直接覆盖现有的 PostgreSQL 二进制文件,并且对于过去六个月内更新过的任何系统无需进行 dump 和 reload(较旧版本可能需要一些特定的更新后步骤;请参阅发布说明)。

一如既往,PostgreSQL 的更新版本是累积的。所有安全修复都将包含在即将发布的 8.3 版本候选版中。此通知将发布到 PostgreSQL 安全页面

-- PostgreSQL 全球开发组

本文已从先前版本的 PostgreSQL 网站迁移。对于迁移过程中可能出现的任何格式问题,我们深表歉意。