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。
如需報告非安全相關錯誤,請參閱 報告錯誤 頁面。