PostgreSQL邏輯解碼漏洞藏12年,複寫帳號可載入任意程式碼

PostgreSQL邏輯解碼漏洞藏12年,複寫帳號可載入任意程式碼

AI News Bot
2026-09-08
預計閱讀 1 分鐘原文來源

核心重點

PostgreSQL 自 2014 年加入的 邏輯解碼 功能中,長達 12 年的程式碼載入缺口(CVE‑2026‑6471)被資安公司 Cyera 揭露。持有 REPLICATION 複寫權限但非超級使用者的帳號,得以指定任意函式庫路徑,迫使資料庫服務以作業系統帳號執行惡意程式碼,甚至提升為資料庫超級使用者。

背景與技術細節

邏輯解碼(Logical Decoding)會把資料變更事件轉換成外部工具可讀的串流,常用於資料複寫、變更資料擷取(CDC)與資料遷移。舊版 PostgreSQL 在載入 輸出插件(output plugin)時,未限制插件所在的檔案路徑,讓複寫帳號可以要求載入 任意函式庫(shared library)。

  • Windows:若資料庫主機允許 TCP 445 連線,攻擊者可透過 SMB 網路共享直接載入遠端 DLL,無需先寫入本機檔案。
  • Linux / macOS:啟用 NFS 自動掛載時,同樣可從網路取得函式庫;在一般 Linux、容器或 Kubernetes 環境,則需先將惡意函式庫放入 PostgreSQL 可存取的檔案系統。

惡意函式庫被載入後,程式碼在資料庫行程內執行。研究人員示範,利用內建功能將原有的複寫帳號升級為 資料庫超級使用者,取得全部資料庫權限,甚至在重新啟動後仍會自動載入後門。

受影響範圍與官方回應

PostgreSQL 官方將此漏洞評為 CVSS 7.2,主要因為攻擊者必須先取得 REPLICATION 權限。受影響的仍受支援版本包括 PostgreSQL 14‑18,修補版本分別為 14.24、15.19、16.15、17.11 以及 18.6。修補後的程式碼會將可載入的輸出插件限制在內建清單,使用第三方插件的環境必須由管理員手動加入信任清單。

未來展望與防禦建議

  • 即時升級:受影響的企業與服務提供者應盡速升級至上述修補版本,避免因舊版未受保護而成為攻擊目標。
  • 最小權限原則:除非必要,避免授予一般帳號 REPLICATION 權限;若必須使用,應搭配網路防火牆阻斷不必要的 SMB/NFS 連線。
  • 插件審核:部署第三方輸出插件前,先行在測試環境驗證其來源與安全性,並在生產環境以白名單方式管理。
  • 監控與偵測:加強對 PostgreSQL 進程的行為監控,尤其是載入共享函式庫的系統呼叫,能在異常載入時即時警示。

此漏洞提醒業界,資料庫功能的擴充 必須同步檢視其安全邊界。唯有結合程式碼審查、權限管控與即時更新,才能在快速變動的資安環境中保持防禦韌性。

分享