↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

CVE-2026-6477

PostgreSQL libpq 的 lo_* 函数可让服务器超级用户覆盖客户端栈内存

PostgreSQL libpq 的 lo_export()、lo_read()、lo_lseek64() 和 lo_tell64() 使用了本质上不安全的 PQfn(..., result_is_int=0, ...),使服务器超级用户能够用任意长度的响应覆盖客户端栈缓冲区。 与 gets() 类似,该调用会把由服务器决定的任意长度数据写入大小未指定的缓冲区。由于 psql 的 \lo_export 命令和 pg_dump 都会调用 lo_read(),服务器超级用户可覆盖 pg_dump 或 psql 的栈内存。 PostgreSQL 18.4、17.10、16.14、15.18 和 14.23 之前的版本受此问题影响。

版本信息

受影响分支引入版本修复版本修复发布日期
14—14.232026-05-14
15—15.182026-05-14
16—16.142026-05-14
17—17.102026-05-14
18—18.42026-05-14

CVSS 3.0

总分8.8
组件client
向量AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H

首次发布: 2026-05-14

历史来源记录

下列记录保留历史来源当时的原始声明,独立于上方核实的修复清单。

center · 2026-10-03 12:08:35.169032+08

  • PostgreSQL 18 · 原始小版本坐标: 4
  • PostgreSQL 17 · 原始小版本坐标: 10
  • PostgreSQL 16 · 原始小版本坐标: 14
  • PostgreSQL 15 · 原始小版本坐标: 18
  • PostgreSQL 14 · 原始小版本坐标: 23

pgweb · 2026-10-03 12:08:55.967155+08

  • PostgreSQL 18 · 原始小版本坐标: 4
  • PostgreSQL 17 · 原始小版本坐标: 10
  • PostgreSQL 16 · 原始小版本坐标: 14
  • PostgreSQL 15 · 原始小版本坐标: 18
  • PostgreSQL 14 · 原始小版本坐标: 23

原始安全公告 · JSON · 全部公告