8.8High
未列入 CISA KEV
PoC 狀態未確認
三句重點
- 成因
- anonymous RECORD 遇到 dropped attribute 位置相同但寬度或對齊不同的 row type 時發生型別混淆。
- 影響
- 具建立物件權限的已驗證使用者可能以資料庫 OS 帳號執行任意程式碼。
- 條件
- 需能連線並通過驗證、具建立物件權限,且版本為 17.x < 17.12 或 18.x < 18.7。
版本比對
| 套件 | ❌ 受影響版本 | ✅ 安全版本 |
|---|---|---|
| PostgreSQL | 17.x 早於 17.12;18.x 早於 18.7(官方聲明 17 以前版本不受影響;19 RC 未確認) | >= 17.12 / 18.7 |
修補方式
升級至 17.12 / 18.7 以上版本。
攻擊思路
偵測提示
- 資料庫版本盤點:確認執行個體是否為 17.x 早於 17.12 或 18.x 早於 18.7,優先處理對外可連線者。
- PostgreSQL 伺服器日誌:留意低權限帳號異常的 DDL(建立或修改資料表、複合型別、移除欄位)與後續異常的 record 型別查詢。
- PostgreSQL 日誌(崩潰訊息):留意 backend 異常終止(如 signal 11)與 server process terminated 等記憶體錯誤跡象。
- 主機行程監控:檢查資料庫 OS 帳號是否衍生非預期子行程、異常檔案寫入或對外連線。
- 角色與權限稽核:盤點具 CREATE 權限的帳號與來源位址,移除不必要者並留意異常登入。
- 網路流量(5432/tcp):僅在未使用 TLS 時能檢視 DDL 與查詢內容;使用 TLS 則看不到,且成功與否無法由網路判斷。
暫時緩解
升級至 PostgreSQL 18.7 或 17.12(2026-11-12 發行)。官方未提供其他緩解措施。升級前可作為一般性降風險作法(效果未經官方確認):限制資料庫僅允許必要來源連線,並移除不必要帳號的 CREATE 權限。
通報團隊
複製成可直接貼到 Slack 或 Email 的通報文字。
預覽通報內容
🚨【資安漏洞通報】CVE-2026-120142 等級:High (8.8) 受影響套件:PostgreSQL 17.x 早於 17.12;18.x 早於 18.7(官方聲明 17 以前版本不受影響;19 RC 未確認) 漏洞簡述:anonymous RECORD 遇到 dropped attribute 位置相同但寬度或對齊不同的 row type 時發生型別混淆。;具建立物件權限的已驗證使用者可能以資料庫 OS 帳號執行任意程式碼。;需能連線並通過驗證、具建立物件權限,且版本為 17.x < 17.12 或 18.x < 18.7。 建議措施:升級至 17.12 / 18.7 以上版本 詳細連結:https://cve.eacc.online/cve/CVE-2026-120142