PostgreSQL 中对行安全策略表的追踪不完整,导致重用查询可以查看或更改非预期的行。CVE-2023-2455 和 CVE-2016-2193 已经修复了行安全策略与用户 ID 更改之间的大部分交互问题。然而,它们未能覆盖子查询、WITH 查询、安全调用者视图或 SQL 语言函数引用具有行级别安全策略的表的场景。这会导致与前两个 CVE 相同的影响。也就是说,在角色特定策略被使用,并且给定查询在一个角色下规划,然后又在其他角色下执行的情况下,可能会应用不正确的策略。这种情况可能发生在安全定义函数中,或者当一个普通用户和查询最初被规划,然后在多个 SET ROLE 之间重用时。
应用不正确的策略可能会允许用户完成原本被禁止的读取和修改。这仅影响使用 CREATE POLICY
定义了行安全策略的数据库。攻击者必须针对特定应用程序的查询计划重用模式、用户 ID 更改和角色特定行安全策略的模式来定制攻击。PostgreSQL 17.1、16.5、15.9、14.14、13.17 和 12.21 之前的版本受到影响。
受影响版本 | 已修复版本 | 修复发布日期 |
---|---|---|
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 版本信息 的更多信息,请访问 版本信息页面。
总体得分 | 4.2 |
---|---|
组件 | 核心服务器 |
向量 | AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N |
如果您希望报告 PostgreSQL 中的新安全漏洞,请发送电子邮件至 security@postgresql.org。
如需报告非安全相关错误,请参阅 报告错误 页面。