8.8High
未列入 CISA KEV
PoC 狀態未確認
三句重點
- 成因
- 批次 INSERT 依送出列數配置緩衝區,未防範外部伺服器回報更多列數。
- 影響
- 本地後端程序可能崩潰或被執行任意程式碼,影響機密性、完整性與可用性。
- 條件
- 需能控制 foreign server 的回應,且具備可對 foreign table 寫入的低權限帳號。
版本比對
| 套件 | ❌ 受影響版本 | ✅ 安全版本 |
|---|---|---|
| PostgreSQL | 18 < 18.7;17 < 17.12;16 < 16.16;15 < 15.20;14 < 14.25 | >= 18.7 |
修補方式
升級至 18.7 以上版本。
攻擊思路
偵測提示
- PostgreSQL 伺服器日誌:檢查後端程序因 segmentation fault 或記憶體損毀異常終止、伺服器重新初始化的紀錄,尤其發生在 foreign table INSERT 之後。
- foreign server 與 foreign table 設定:盤點 postgres_fdw 的 foreign server、user mapping,以及 batch_size 大於 1 的設定,找出指向不可信或非預期主機者。
- 本地到遠端的 PostgreSQL 連線流量:比對請求送出的列數與回應 CommandComplete 宣告的列數,回應列數大於請求列數即屬異常(方向為遠端到本地)。
- 遠端表定義:檢查遠端表上是否存在會把單筆 INSERT 展開為多筆的 RULE,以及近期是否被異動。
- 資料庫版本盤點:確認各執行個體版本是否低於 18.7、17.12、16.16、15.20、14.25。
暫時緩解
升級至 PostgreSQL 18.7、17.12、16.16、15.20 或 14.25 以上版本。官方未列暫時緩解措施;非官方的風險降低作法:避免對不可信的 foreign server 建立 foreign table,並限制可建立 foreign server 與 user mapping 的權限。
通報團隊
複製成可直接貼到 Slack 或 Email 的通報文字。
預覽通報內容
🚨【資安漏洞通報】CVE-2026-120149 等級:High (8.8) 受影響套件:PostgreSQL 18 < 18.7;17 < 17.12;16 < 16.16;15 < 15.20;14 < 14.25 漏洞簡述:批次 INSERT 依送出列數配置緩衝區,未防範外部伺服器回報更多列數。;本地後端程序可能崩潰或被執行任意程式碼,影響機密性、完整性與可用性。;需能控制 foreign server 的回應,且具備可對 foreign table 寫入的低權限帳號。 建議措施:升級至 18.7 以上版本 詳細連結:https://cve.eacc.online/cve/CVE-2026-120149