CVE-2026-116241:pgAdmin 4 Import/Export Data 允許執行外部命令的 SQL 注入漏洞
CVE-2026-116241 - pgAdmin 4: Import/Export Data query export runs a command through a backslash in a double-quoted identifier
pgAdmin 4 版本低於 9.19 的 Import/Export Data 工具存在 SQL 注入漏洞,攻擊者可執行伺服器端命令。
- 漏洞原理:利用 psql \copy 解析器與 pgAdmin 之間的引號處理差異,允許在雙引號識別符中注入 \ 以終止 \copy 佔位符並執行 TO PROGRAM。
瞭解pgAdmin 4 版本 9.19 以上已修復的 SQL 注入漏洞,並掌握如何限制非管理員的 Import/Export 許可權。
譯文尚未完整,完整內容請切換至原文。
pgAdmin 4 的 Import/Export Data 工具會將使用者的查詢匯出包裝在 psql \\\\copy (...) TO 指令中,並檢查查詢的括號是否配對,確保沒有任何東西能逃離包裝。檢查拒絕了單引號字串內的反斜線,但不拒絕雙引號識別子內的反斜線,該處會把下一個雙引號視為結束識別子。psql 的 \\\\copy 解析器會把連線的 escape 字元套用到開啟 token 的引號,於是當 standard_conforming_strings 設定為 off 時,反斜線轉義的雙引號不會結束識別子。pgAdmin 與 psql 的引用觀點因此分歧,檢查未偵測到的關閉括號結束了 \\\\copy (...) 包裝,接著的 TO PROGRAM 子句被 psql 在 pgAdmin 主機上執行,作為執行 pgAdmin 的作業系統帳號,在伺服器拒絕該敘述之前。普通資料庫角色可以為自身關閉 standard_conforming_strings,Import/Export Data 許可權預設授予非管理者。 這是對 CVE-2026-17566 修正的繞過。修正會拒絕雙引號識別子內的任何反斜線,正如已在單引號字串中所做,因為其意義取決於伺服器設定,無法在查詢驗證時可靠地得知。 此問題影響 pgAdmin 4:9.19 以前的版本。
影響
受影響產品
以下產品受到 CVE-2026-116241 漏洞的影響。
即使 cvefeed.io 瞭解受影響產品的精確版本,該資訊並未在下表中呈現。
| ID | 供應商 | 產品 | 行動 |
|---|---|---|---|
| 1 | Pgadmin | pgadmin_4 |
Common Vulnerability Scoring System(CVSS)是一套標準化框架,用於評估軟體與系統漏洞的嚴重性。我們從各個來源收集並顯示每個 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 或更高版本以修復 SQL 注入漏洞。
- 將 pgAdmin 4 更新至 9.19 或更高版本。
- 如可能,停用 `standard_conforming_strings` 設定。
- 限制非管理員的匯入/匯出資料許可權。
此處列出經精選的外部連結,提供關於 CVE-2026-116241 的深入資訊、實用解決方案與寶貴工具。
| 網址 | 資源 |
|---|---|
| https://github.com/pgadmin-org/pgadmin4/commit/9be31a019f780647fb689c458408c8803263c812 | |
| https://github.com/pgadmin-org/pgadmin4/issues/10663 |
CVE 會識別具體的漏洞例項,而 CWE 則分類可能導致漏洞的常見缺陷或弱點。CVE-2026-116241 相關聯的 CWE 如下:
Common Attack Pattern Enumeration and Classification (CAPEC) 存放攻擊模式,描述對手為利用 CVE-2026-116241 弱點所採用的常見特徵與手法。
我們掃描 GitHub 倉庫以偵測新的概念驗證漏洞。以下清單為已於 GitHub 發布的公開漏洞與概念驗證,按最近更新時間排序。
由於可能的效能問題,結果僅限於前 15 個倉庫。
以下清單為文章中提及 CVE-2026-116241 漏洞的新聞。
下表列出 CVE-2026-116241 漏洞隨時間所做的變更。
漏洞歷史細節有助於瞭解漏洞的演變,並辨識可能影響其嚴重性、可利用性或其他特性的最新變更。
-
新 CVE 已收到,來源:f86ef6dc-4d3a-42ad-8f28-e6d5547a5007
十月. 30, 2026
動作 型別 舊值 新值 新增 說明 pgAdmin 4 的匯入/匯出資料工具會將使用者的查詢匯出包裝於 psql \\copy (...) TO 指令中,並檢查查詢的括號是否配對,確保無法逃脫包裝。該檢查會拒絕單引號字串內的反斜線,但不會拒絕雙引號識別子內的反斜線,該情況下它會把下一個雙引號視為結束識別子。psql 的 \\copy 解析器會將連線的逃脫字元套用於開啟 token 的引號,因此在 standard_conforming_strings 關閉時,反斜線逃脫的雙引號不會結束識別子。pgAdmin 與 psql 對引用的看法隨之分歧,隱藏於檢查之外的閉括號結束了 \\copy (...) 包裝,接著的 TO PROGRAM 子句被 psql 在 pgAdmin 主機上執行,作為執行 pgAdmin 的作業系統帳號,在伺服器拒絕該敘述前。一般資料庫角色可為自身關閉 standard_conforming_strings,而匯入/匯出資料許可權預設授予非管理員。 這是對 CVE-2026-17566 修正的繞過。該修正會拒絕雙引號識別子內的任何反斜線,與單引號字串已做之相同,因其意義取決於伺服器設定,且在查詢驗證時無法可靠得知。 此問題影響 pgAdmin 4:9.19 之前的版本。 新增 CVSS V4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/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:L/PR:L/UI:N/S:C/C:H/I:H/A:H 已加入 CWE CWE-78 已加入 CWE CWE-115 新增 受影響 New affected value received. <a href="https://github.com/CVEProject/cvelistV5/blob/main/cves/2026/116xxx/CVE-2026-116241.json">CVE-2026-116241</a> 新增 參考 https://github.com/pgadmin-org/pgadmin4/commit/9be31a019f780647fb689c458408c8803263c812 新增 參考 https://github.com/pgadmin-org/pgadmin4/issues/10663
EPSS 是每日估算在接下來 30 天內觀測到利用活動的機率。 下圖顯示該漏洞的 EPSS 分數歷史。