CVE-2026-116249:pgAdmin 4 連線檔案路徑與引數鍵可跨使用者儲存目錄
CVE-2026-116249 - pgAdmin 4: Connection file paths and parameter keys escape the user's storage directory
pgAdmin 4 於 9.19 之前版本存在路徑遍歷與引數注入漏洞,攻擊者可透過設定檔或 REST API 指向其他使用者的憑證,進而取得其密碼、憑證或 SSH 金鑰。
此漏洞可使攻擊者取得其他使用者的憑證,提醒使用者即時升級至 9.19 以避免潛在資料外洩風險,並建議在升級前備份設定檔,確保配置安全。
譯文尚未完整,完整內容請切換至原文。
在伺服器模式下,pgAdmin 4 會將伺服器的密碼檔、SSL 憑證、金鑰、CRL 與 SSH 隧道身份檔相對於使用者的儲存目錄進行解析,但 get_complete_file_path() 只會在合併兩者前移除前導斜線。 例如透過伺服器對話方塊、REST API 或 servers.json 匯入設定的路徑 "..//.pgpass",將會被命名為另一位使用者的檔案,連線時會使用該使用者儲存的密碼、客戶端憑證或 SSH 金鑰。 sslkeylogfile 連線引數未經修改直接傳遞給 libpq,導致若路徑位於儲存目錄之外,libpq 會以執行 pgAdmin 的帳號建立或追加檔案。 make_conninfo() 也會對連線引數值加引號,但不會對其名稱加引號,因而可利用精心設計的引數名稱將額外的 keyword=value 對隱匿於這些檢查之後。 修正方案要求解析後的路徑(符號連結亦需追蹤)必須位於使用者儲存目錄或指定的共用儲存目錄內,sslkeylogfile 亦以相同方式限制,且僅接受精確的 libpq 關鍵字作為連線引數名稱。若路徑或關鍵字被拒絕,將報告錯誤,而非讓 libpq 退回預設值。 此問題影響 pgAdmin 4 於 9.19 之前的版本。
影響
受影響產品
以下產品受 CVE-2026-116249 漏洞影響。
即使 cvefeed.io 已知受影響產品的精確版本,資訊仍未在下表中呈現。
| ID | 供應商 | 產品 | 行動 |
|---|---|---|---|
| 1 | Pgadmin | pgadmin_4 |
The Common Vulnerability Scoring System 是一套標準化框架,用於評估軟體與系統漏洞的嚴重度。我們從各種來源收集並顯示每個 CVE 的 CVSS 分數。
| 分數 | 版本 | 嚴重性 | 向量 | 可利用性分數 | 影響分數 | 來源 |
|---|---|---|---|---|---|---|
| CVSS 3.1 | 高 | f86ef6dc-4d3a-42ad-8f28-e6d5547a5007 | ||||
| CVSS 3.1 | 高 | MITRE-CVE | ||||
| CVSS 4.0 | 高 | f86ef6dc-4d3a-42ad-8f28-e6d5547a5007 | ||||
| CVSS 4.0 | 高 | f86ef6dc-4d3a-42ad-8f28-e6d5547a5007 |
更新 pgAdmin 4 至 9.19 或更高版本,以修復路徑穿越與引數隱匿漏洞。
- 更新 pgAdmin 4 至 9.19 或更高版本。
- 更新後驗證伺服器設定檔。
- 確保使用者儲存目錄已妥善保護。
此處提供精選外部連結,提供有關 CVE-2026-116249 的深入資訊、實用解決方案與有價值工具。
| URL | 資源 |
|---|---|
| https://github.com/pgadmin-org/pgadmin4/commit/2afe505ef4a31591796449d54ab1604355ff06c2 | |
| https://github.com/pgadmin-org/pgadmin4/issues/10650 |
雖然 CVE 識別具體的漏洞例項,CWE 則對可能導致漏洞的常見缺陷或弱點進行分類。CVE-2026-116249 與以下 CWEs 相關聯:
Common Attack Pattern Enumeration and Classification
(CAPEC)
儲存攻擊模式,這些模式描述了對手用於利用 CVE-2026-116249 弱點的常見屬性和方法。
我們掃描 GitHub 倉庫以偵測新的概念驗證(PoC)利用。以下列表是已在 GitHub 上釋出的公開利用與概念驗證集合(按最近更新時間排序)。
由於潛在的效能問題,結果僅限於前 15 個倉庫。
以下列表顯示在文章中任何地方提及 CVE-2026-116249 漏洞的新聞。
以下表格列出 CVE-2026-116249 漏洞隨時間所做的變更。
漏洞歷史細節對於瞭解漏洞的演變以及識別可能影響漏洞嚴重性、可利用性或其他特徵的最新變更非常有用。
-
新 CVE 已接收 由 f86ef6dc-4d3a-42ad-8f28-e6d5547a5007
十月. 30, 2026
動作 型別 舊值 新值 新增 描述 在伺服器模式下,pgAdmin 4 會根據使用者的儲存目錄解析伺服器的密碼檔、SSL 憑證、金鑰、CRL 和 SSH 隧道身份檔,但 get_complete_file_path() 只移除前導斜線再連線兩者。像 "..//.pgpass" 這樣的路徑,若透過伺服器對話方塊、REST API 或 servers.json 匯入設定,將被命名為另一位使用者的檔案,連線時就會使用該使用者儲存的密碼、客戶端憑證或 SSH 金鑰。sslkeylogfile 連線引數直接傳給 libpq,未做修改,因而允許在儲存目錄之外的路徑讓 libpq 以執行 pgAdmin 的帳號建立或追加檔案。 make_conninfo() 也會為連線引數值加上引號,但不會對其名稱加引號,因而可以利用偽造的引數名稱繞過這些檢查,攜帶額外的 keyword=value 對。 修正方案要求解析後的路徑(符號連結已被追蹤)必須保持在使用者的儲存目錄或指定的共用儲存目錄內,對 sslkeylogfile 亦採用相同限制,且僅接受精確的 libpq 關鍵字作為連線引數名稱。若路徑或關鍵字被拒絕,將報告錯誤,而不是讓 libpq 回退至預設值。 此問題影響 pgAdmin 4:在 9.19 之前的版本。 新增 CVSS V4.0 AV:N/AC:H/AT:P/PR:L/UI:N/VC:H/VI:L/VA:L/SC:H/SI:H/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X 新增 CVSS V3.1 AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:L 新增 CWE CWE-22 新增 CWE CWE-73 新增 受影響 New affected value received. <a href="https://github.com/CVEProject/cvelistV5/blob/main/cves/2026/116xxx/CVE-2026-116249.json">CVE-2026-116249</a> 新增 參考 https://github.com/pgadmin-org/pgadmin4/commit/2afe505ef4a31591796449d54ab1604355ff06c2 新增 參考 https://github.com/pgadmin-org/pgadmin4/issues/10650
EPSS 是對未來 30 天內觀測到利用活動的機率的每日估算。 下圖顯示此漏洞的 EPSS 分數歷史。