威胁动态

CVE-2026-6460 — PostgreSQL 类型混淆导致任意代码执行(CVSS 8.8;已在 18.7、17.12、16.16、15.20 和 14.25 中修复):解析与对策

CVE-2026-6460:PostgreSQL 14至18中的类型混淆可使代码以操作系统用户身份执行(CVSS 8.8)。2026年11月修复。未见利用。

发布于 2026-11-13 更新于 2026-11-13 最后核实 2026-11-13 3 分钟阅读
本页目录

这是一篇关于 PostgreSQL 在 2026 年 11 月定期更新中修复的、可导致任意代码执行的类型混淆缺陷的解析。本文从防御方的角度说明发生了什么、谁受影响以及如何应对,不涉及攻击步骤。

公告摘要 — ADVISORY
CVE
CVE-2026-6460(PostgreSQL 在 ALTER ... SET DATA TYPE 之后发生类型混淆,可执行任意代码)
严重度
CVSS v3.1 8.8(High;向量 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H;由 PostgreSQL 分配)
类型
类型混淆(CWE-843)。以运行数据库的操作系统用户身份执行任意代码
条件
需要认证。对象创建者(低权限账户)
受影响
PostgreSQL 14 至 18(低于下列修复版本)
修复
18.7 / 17.12 / 16.16 / 15.20 / 14.25(2026年11月12日发布)
同一次更新
共修复 52 个漏洞。14.25 是 PostgreSQL 14 的最后一次更新
利用情况
未见报告。未列入 CISA KEV 的 11 月 10 日版本
临时解决办法
未列出
8.8
CVSS v3.1(PostgreSQL)
需要认证
低权限数据库账户
52
同一次更新中修复
14 为最终版
14.25 结束支持

PostgreSQL 14 不再有后续修复

PostgreSQL 的公告称,14.25 是 PostgreSQL 14 的最终版本,之后将不再提供安全或缺陷修复。如果您运行的是 14,请应用本次更新,并规划迁移到受支持的版本。

这是什么样的漏洞

项目方描述了一个类型混淆(CWE-843),使对象创建者能够主要通过 ALTER ... SET DATA TYPE,以运行数据库的操作系统用户身份执行任意代码。项目方还称,通过数据定义命令还存在其他路径。原因是对带类型的值跟踪不足:值不能标识自己的类型,因此过时的值可能出现在数据字典条目、PL/pgSQL 变量等位置。

  • 条件是账户能够登录数据库并创建对象。按 CVSS 的说法,就是低权限(PR:L),无需用户交互(UI:N)。
  • 本站不描述利用步骤,也不说明哪些操作是危险的。
  • 修复位于 PostgreSQL 核心。官方页面没有说明是否需要扩展或非默认设置。
  • CVE.org 记录中 CISA 的评估(SSVC)为:利用 none,可自动化 no,技术影响 total。

受影响范围

项目详情
产品PostgreSQL(核心)
受影响版本低于 18.7、17.12、16.16、15.20 和 14.25 的版本
修复(18)18.7
修复(17)17.12
修复(16)16.16
修复(15)15.20
修复(14)14.25(14 的最后一次更新)
临时解决办法 / 缓解措施未列出
  • 不需要转储并重新加载,也不需要 pg_upgrade。PostgreSQL 的公告称,您只需停止服务器并更新二进制文件。
  • 13 及更早版本已经不再受支持。官方页面针对该 CVE 列出的是 14 至 18。

同一次更新中的其他漏洞

2026年11月12日的版本(18.7、17.12、16.16、15.20、14.25)修复了 52 个安全漏洞和 140 多个缺陷。本文聚焦于 CVE-2026-6460。

  • 关于这 52 个漏洞的列表,以及每个 CVE 的严重度和受影响版本,见 PostgreSQL 安全信息页面。
  • 该列表包含不同类型的问题:任意代码执行、服务器内存泄露、SQL 注入和权限检查绕过。其中也包括客户端工具(pg_dump、pg_restore、reindexdb 等)的修复。
  • 部分修复在更新后需要额外步骤(怀疑发生损坏时重建 GIN 索引以及 pg_trgm 索引;如果使用增量备份,则重新做一次完整备份;检查分区表上的约束)。请遵循发布公告中的“Updating”一节。

如何确认自己是否受影响

1

检查 PostgreSQL 版本

运行 SELECT version(); 查看服务器版本。低于 18.7 的 18、低于 17.12 的 17、低于 16.16 的 16、低于 15.20 的 15,或低于 14.25 的 14 均受影响。

2

找出所有运行它的地方

列出您运营的服务器、容器、应用内置的 PostgreSQL,以及开发和测试环境。关于如何维护清单,见资产清单检查表。

3

检查哪些账户能够创建对象

找出能够登录数据库并创建或修改表等对象的角色。检查应用所用的账户权限是否超出了必要范围。

4

对于托管服务,请阅读服务商的公告

如果您使用 RDS、Cloud SQL 或类似服务,请在服务商的公告中查看您实例的版本以及服务商的处理状态。

今天该做什么

1

把小版本更新到修复版本(优先)

升级到所属系列的修复版本(18.7、17.12、16.16、15.20 或 14.25)或更高版本。更新之前,确认备份存在且可以恢复(备份要点)。如果有副本,请先确定步骤和顺序。

2

检查更新后的步骤

在发布公告的“Updating”一节中,检查哪些适用于您:怀疑发生损坏时重建 GIN 索引、重建 pg_trgm GiST 索引,以及如果使用增量备份则做一次新的完整备份。

3

更新之前缩小权限

PostgreSQL 的页面没有列出临时解决办法。作为本站自己的补充,在更新之前,请把能够创建对象的账户限制在最低限度,并且不要给应用所用的账户授予它们不需要的创建权限。这不是公告中提到的措施,也不能代替更新。

4

确认托管服务的更新

请查看服务商的公告,了解支持的版本和更新计划。还要检查是否开启了自动小版本更新,以及维护窗口是什么时候。

5

如果您运行 PostgreSQL 14,请规划迁移

更新到 14.25 之后,请规划迁移到受支持的版本。确定截止日期和负责人。

利用情况

  • PostgreSQL 的页面没有提到利用。
  • CVE.org 记录中 CISA 的评估(SSVC)为:利用 none,可自动化 no,技术影响 total(日期为2026年11月12日)。
  • 它未列入 CISA KEV 目录的 11 月 10 日版本。
  • 无法确认关于任何攻击的规模、手法或行为者的公开信息。
  • 多名研究人员和机构报告了该问题,官方页面列有致谢。

信息来源

限制对象创建权限是本站在此列出的一般性防御措施,并非 PostgreSQL 说明的临时解决办法。最后确认:2026年11月13日。

延伸阅读

FAQ

QCVE-2026-6460 是什么?
A

PostgreSQL 中的类型混淆(CWE-843)。据项目方称,对象创建者可以主要通过 ALTER ... SET DATA TYPE,以运行数据库的操作系统用户身份执行任意代码。原因被描述为对带类型的值跟踪不足:值不能自行标识其类型,因此可能残留过时的值。CVSS v3.1 为 8.8(High)。

Q不需要认证就能攻击吗?
A

不能。CVSS 向量要求低权限(PR:L),项目方的描述提到的是“对象创建者”。这指的是能够登录数据库并创建对象的账户。但如果这样的账户通过应用缺陷或泄露的凭据被接管,就可能成为立足点。

Q哪些版本受影响,修复方案是什么?
A

PostgreSQL 14 至 18 受影响,已在 18.7、17.12、16.16、15.20 和 14.25(2026年11月12日发布)中修复。这些版本之前的版本受影响。不需要转储并重新加载,也不需要 pg_upgrade:替换二进制文件的普通小版本更新即可应用。

Q如果暂时无法更新,有临时解决办法吗?
A

PostgreSQL 的页面没有列出任何临时解决办法或缓解措施。作为本站自己的补充,在更新之前,请把能够创建对象的账户限制在必要的最低限度。这不是公告中提到的措施,也不能代替更新。

Q是否已被利用?
A

未见利用报告。CVE.org 记录中 CISA 的评估(SSVC)为:利用 none,可自动化 no,技术影响 total。它未列入 CISA KEV 目录的 11 月 10 日版本。

Q在 RDS 或 Cloud SQL 等托管服务上该怎么做?
A

服务商会公布其提供哪些版本以及何时应用。请查看服务商的公告,了解您实例的版本及其更新计划,并检查是否启用了自动小版本更新。