选择 打开 改范围 完整检索页

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 之前的版本受此问题影响。

版本信息

影响版本 修复于 修复发布
18 18.4 2026年5月14日
17 17.10 2026年5月14日
16 16.14 2026年5月14日
15 15.18 2026年5月14日
14 14.23 2026年5月14日

有关 PostgreSQL 版本策略的更多信息,请访问版本策略页面

CVSS 3.0

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

报告安全漏洞

如果您希望报告 PostgreSQL 中的新安全漏洞,请发送电子邮件至 security@postgresql.org

如需报告非安全性 Bug,请参阅报告 Bug 页面。