PostgreSQL 中不正確的許可權分配允許許可權較低的應用程式使用者檢視或更改與其意圖不同的行。攻擊需要應用程式使用 SET ROLE、SET SESSION AUTHORIZATION 或等效功能。當應用程式查詢使用攻擊者的引數或將查詢結果傳達給攻擊者時,就會出現問題。如果該查詢響應 current_setting('role') 或當前使用者 ID,則它可能會修改或返回資料,就好像會話沒有使用 SET ROLE 或 SET SESSION AUTHORIZATION 一樣。攻擊者無法控制應用哪個不正確的使用者 ID。來自許可權較低來源的查詢文字在此處不構成問題,因為 SET ROLE 和 SET 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 版本資訊 的更多資訊,請訪問 版本資訊頁面。
| 總體得分 | 4.2 |
|---|---|
| 元件 | 核心伺服器 |
| 向量 | AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N |
如果您希望報告 PostgreSQL 中的新安全漏洞,請傳送電子郵件至 security@postgresql.org。
如需報告非安全相關錯誤,請參閱 報告錯誤 頁面。