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

CVE-2024-10978

PostgreSQL SET ROLE, SET SESSION AUTHORIZATION 被错误地重置为错误的用户 ID

PostgreSQL 中不正确的权限分配允许权限较低的应用程序用户查看或更改与其意图不同的行。攻击需要应用程序使用 SET ROLESET SESSION AUTHORIZATION 或等效功能。当应用程序查询使用攻击者的参数或将查询结果传达给攻击者时,就会出现问题。如果该查询响应 current_setting('role') 或当前用户 ID,则它可能会修改或返回数据,就好像会话没有使用 SET ROLESET SESSION AUTHORIZATION 一样。攻击者无法控制应用哪个不正确的用户 ID。来自权限较低来源的查询文本在此处不构成问题,因为 SET ROLESET SESSION AUTHORIZATION 不是未经审查的查询的沙盒。PostgreSQL 17.1、16.5、15.9、14.14、13.17 和 12.21 之前的版本受到影响。

PostgreSQL 项目感谢 Tom Lane 报告此问题。

版本信息

受影响版本 已修复版本 修复发布日期
17 17.1 2024 年 11 月 14 日
16 16.5 2024 年 11 月 14 日
15 15.9 2024 年 11 月 14 日
14 14.14 2024 年 11 月 14 日
13 13.17 2024 年 11 月 14 日
12 12.21 2024 年 11 月 14 日

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

CVSS 3.0

总体得分 4.2
组件 核心服务器
向量 AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N

报告安全漏洞

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

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