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

CVE-2020-25696

psql 的 \gset 允许覆盖特殊处理的变量

\gset 元命令根据查询结果设置 psql 变量,但它无法区分控制 psql 行为的变量。如果交互式 psql 会话在查询受攻击的服务器时使用 \gset,攻击者就可以以运行 psql 的操作系统账户的身份执行任意代码。在未打补丁的 psql 中,使用 \gset 配合不在特殊处理变量中的前缀(例如任何小写字符串)可以阻止此攻击。

PostgreSQL 项目感谢 Nick Cleaton 报告此问题。

版本信息

受影响版本 已修复版本 修复发布日期
13 13.1 2020 年 11 月 12 日
12 12.5 2020 年 11 月 12 日
11 11.10 2020 年 11 月 12 日
10 10.15 2020 年 11 月 12 日
9.6 9.6.20 2020 年 11 月 12 日
9.5 9.5.24 2020 年 11 月 12 日

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

CVSS 3.0

总体得分 7.5
组件 客户端
向量 AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H

报告安全漏洞

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

如需报告非安全相关错误,请参阅 报告错误 页面。