回最新 CVE 列表

CVE-2026-120149 PostgreSQL postgres_fdw 批次 INSERT 回報列數大於送出列數造成堆積緩衝區溢位

揭露日期 2026-11-12CVSS 3.1:CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

對象資安IT開發

CWE-122 CWE-122

未列入 CISA KEV

PoC 狀態未確認

三句重點

成因
批次 INSERT 依送出列數配置緩衝區,未防範外部伺服器回報更多列數。
影響
本地後端程序可能崩潰或被執行任意程式碼,影響機密性、完整性與可用性。
條件
需能控制 foreign server 的回應,且具備可對 foreign table 寫入的低權限帳號。

版本比對

套件❌ 受影響版本✅ 安全版本
PostgreSQL18 < 18.7;17 < 17.12;16 < 16.16;15 < 15.20;14 < 14.25>= 18.7

修補方式

升級至 18.7 以上版本。

攻擊思路

  1. 前置條件:本地端已設定 foreign server 與 foreign table,且攻擊者能控制該遠端伺服器的回應,並具備低權限帳號。 來源
  2. 觸發批次寫入:本地端對 foreign table 執行批次 INSERT,postgres_fdw 經 libpq 向遠端送出多列資料。 來源
  3. 回報異常列數:遠端伺服器回覆的實際插入列數大於本地送出的列數(遠端表上的 RULE 展開也可能自然產生此情況)。 來源
  4. 堆積溢位:本地後端寫入依送出列數配置的緩衝區時發生溢位,可能導致程序崩潰或任意程式碼執行。 來源

偵測提示

暫時緩解

升級至 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

參考連結

同套件的其他 CVE