安全信息

PostgreSQL 全球开发组(PGDG)高度重视安全问题。这使我们的用户能够信赖 PostgreSQL 来保护他们的关键业务数据。

PostgreSQL 全球开发组遵循一种在 PostgreSQL 本身及其部署环境(包括硬件、操作系统和应用层——编程语言、框架和客户端库)之间共担责任的模型。PostgreSQL 文档提供了关于 PostgreSQL 内置安全特性以及如何安全配置和运行 PostgreSQL 的信息。

安全漏洞可能存在于 PostgreSQL 本身以及 PostgreSQL 生态系统中的软件中,包括客户端库、扩展、安装程序和其他实用工具。本页介绍了什么被视为 PostgreSQL 的安全漏洞、如何报告 PostgreSQL 安全漏洞,以及安全漏洞的修复是如何发布的。

请注意,PostgreSQL 项目不提供漏洞赏金。

CVE 编号机构

PostgreSQL 项目是一个 CVE 编号机构(CNA),与 Red Hat 作为我们的 CNA Root 合作。这使我们能够为 PostgreSQL 及密切相关的项目分配自己的 CVE 编号并发布 CVE 记录。

目前,我们可以应请求为以下项目分配 CVE 编号,请发送邮件至 cna@postgresql.org

其他项目可以通过发送邮件至 cna@postgresql.org 申请加入上述列表。

注意:安全团队仅在项目成员请求时才会为项目分配 CVE。如果您认为在 PostgreSQL 或其软件包和安装程序之外的项目中发现了安全问题,请联系该项目的安全团队。详见下文了解更多详情。

什么是 PostgreSQL 的安全漏洞?

PostgreSQL 中的安全漏洞是指允许用户获取其无权使用的权限或数据,或允许用户通过 PostgreSQL 进程执行任意代码的问题。

PostgreSQL 安全团队不认为 PostgreSQL 超级用户执行的操作构成安全漏洞。但是,非特权用户提升为超级用户的报告通常被视为有效的安全漏洞。

PostgreSQL 安全团队通常不认为通过经过身份验证的有效 SQL 语句对 PostgreSQL 服务器造成的拒绝服务属于安全漏洞。此类拒绝服务问题仍可能是一个 Bug,我们鼓励您在报告 Bug 页面进行报告。

请不要报告 postgresql.org 邮件列表缺少 DMARC 的问题。这是设计使然。

报告 PostgreSQL 安全漏洞

对于 PostgreSQL 或从 PostgreSQL 下载页面 链接的任何安装程序中的安全漏洞,请发送邮件至 security@postgresql.org

如需报告非安全相关的 Bug,请访问报告 Bug 页面。

如果您不确定某个问题是否属于安全漏洞,请本着谨慎的原则发送邮件至 security@postgresql.org

报告非 PostgreSQL 安全漏洞

以下是如何报告 PostgreSQL 相关项目安全漏洞的方式:

PostgreSQL 安全更新发布

PostgreSQL 项目将安全修复作为小版本更新的一部分发布。建议您始终使用最新的小版本,因为它还包含其他非安全相关的修复。

包含新功能的 PostgreSQL 大版本发布会包含所有先前的安全修复。

如果您在 PostgreSQL 中发现了安全漏洞,PostgreSQL 安全团队将在发布说明中对您进行致谢,并为该漏洞注册 CVE。请不要在 PostgreSQL 安全团队之外独立注册 CVE

PostgreSQL 安全通知

要接收有关安全发布或其他安全相关新闻的通知,您可以订阅 pgsql-announce 邮件列表。如果您将订阅设置为仅包含 Security 标签,则会排除发送到此列表的所有其他公告。

已知 PostgreSQL 安全漏洞

PostgreSQL 全球开发组(PGDG)认为安全信息的准确性、完整性和可用性对我们的用户至关重要。我们选择将所有信息汇集在此页面上,便于按多种条件搜索安全漏洞。包括:

  • 安全漏洞存在于哪些大版本中
  • 安全漏洞在哪些小版本更新中得到修复
  • 利用漏洞是否需要有效的登录凭证
  • CVSS 评分

您可以通过点击下表中的链接查找安全漏洞的更多详细信息。

PostgreSQL 17中已知的 PostgreSQL 安全漏洞

您可以按版本过滤补丁视图,仅显示特定版本的补丁:
18 - 17 - 16 - 15 - 14 - 全部

参考 影响版本 修复版本 组件与 CVSS v3 基础评分 描述
CVE-2026-2006
18, 17, 16, 15, 14 18.2, 17.8, 16.12, 15.16, 14.21 core-server
8.8
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
PostgreSQL 对多字节字符长度缺少校验,可执行任意代码

更多详情
CVE-2026-2005
18, 17, 16, 15, 14 18.2, 17.8, 16.12, 15.16, 14.21 contrib-module
8.8
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
PostgreSQL pgcrypto 堆缓冲区溢出,可执行任意代码

更多详情
CVE-2026-2004
18, 17, 16, 15, 14 18.2, 17.8, 16.12, 15.16, 14.21 contrib-module
8.8
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
PostgreSQL intarray 未校验传给选择性估算器的输入类型,可执行任意代码

更多详情
CVE-2026-2003
18, 17, 16, 15, 14 18.2, 17.8, 16.12, 15.16, 14.21 core-server
4.3
AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
PostgreSQL oidvector 会泄露少量内存字节

更多详情
CVE-2025-12818
18, 17, 16, 15, 14 18.1, 17.7, 16.11, 15.15, 14.20 client
5.9
AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
PostgreSQL libpq 因整数回绕导致分配尺寸过小

更多详情
CVE-2025-12817
18, 17, 16, 15, 14 18.1, 17.7, 16.11, 15.15, 14.20 core-server
3.1
AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L
PostgreSQL CREATE STATISTICS 未检查 schema 的 CREATE 权限

更多详情
CVE-2025-8715
17, 16, 15, 14 17.6, 16.10, 15.14, 14.19 client
8.8
AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
PostgreSQL pg_dump 中对象名包含换行符时,可在 psql 客户端和恢复目标服务器上执行任意代码

更多详情
CVE-2025-8714
17, 16, 15, 14 17.6, 16.10, 15.14, 14.19 client
8.8
AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
PostgreSQL pg_dump 可让源服务器超级用户在 psql 客户端执行任意代码

更多详情
CVE-2025-8713
17, 16, 15, 14 17.6, 16.10, 15.14, 14.19 core-server
3.1
AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N
PostgreSQL 优化器统计信息可能泄露视图、分区或子表中的采样数据

更多详情
CVE-2025-4207
17, 16, 15, 14 17.5, 16.9, 15.13, 14.18 core-server
5.9
AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
PostgreSQL GB18030 编码校验在处理校验失败的文本时,可能越过分配边界多读取 1 个字节

更多详情
CVE-2025-1094
17, 16, 15, 14 17.3, 16.7, 15.11, 14.16 client
8.1
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
PostgreSQL 引号处理 API 未能中和编码校验失败文本中的引号语法

更多详情
CVE-2024-10979
17, 16, 15, 14 17.1, 16.5, 15.9, 14.14 core-server
8.8
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
PostgreSQL PL/Perl 环境变量修改可执行任意代码

更多详情
CVE-2024-10978
17, 16, 15, 14 17.1, 16.5, 15.9, 14.14 core-server
4.2
AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N
PostgreSQL SET ROLE、SET SESSION AUTHORIZATION 会重置到错误的用户 ID

更多详情
CVE-2024-10977
17, 16, 15, 14 17.1, 16.5, 15.9, 14.14 client
3.1
AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:N
PostgreSQL libpq 会保留来自中间人的错误消息

更多详情
CVE-2024-10976
17, 16, 15, 14 17.1, 16.5, 15.9, 14.14 core-server
4.2
AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N
PostgreSQL 行级安全在子查询等场景下会忽略用户 ID 变化

更多详情

不受支持的版本

您还可以查看不受支持版本的已归档安全补丁。请注意,这些版本已停止维护,不再提供进一步的安全补丁。

组件

以下组件引用用于上表中:

组件 描述
核心服务器 此漏洞存在于核心服务器产品中。
客户端 此漏洞仅存在于客户端库或客户端应用程序中。
contrib 模块 此漏洞存在于 contrib 模块中。从源代码安装 PostgreSQL 时,默认不会安装 contrib 模块。它们可能通过二进制包安装。
客户端 contrib 模块 此漏洞存在于仅在客户端使用的 contrib 模块中。
打包 此漏洞存在于 PostgreSQL 二进制打包中,例如安装程序或 RPM。

PostgreSQL 安全团队

PostgreSQL 安全团队由一组在数据库和信息安全各方面具有经验的 PostgreSQL 项目贡献者组成。

以下是安全团队成员列表:

  • Álvaro Herrera
  • Andres Freund
  • Andrew Dunstan
  • Bruce Momjian
  • Dave Page
  • Greg Stark
  • Heikki Linnakangas
  • Jacob Champion
  • Joe Conway
  • Jonathan Katz
  • Magnus Hagander
  • Michael Paquier
  • Nathan Bossart
  • Noah Misch
  • Peter Eisentraut
  • Robert Haas
  • Stefan Kaltenbrunner
  • Tom Lane