CVE-2026-25049 n8n 漏洞
n8n 工作流程自動化平台中新揭露的安全漏洞允許在特定條件下執行任意系統命令。此漏洞編號為 CVE-2026-25049,CVSS 評分為 9.4,屬於嚴重程度。如果成功利用該漏洞,攻擊者可以在託管 n8n 的伺服器上執行系統級命令。
目錄
繞過先前已修復的漏洞
CVE-2026-25049 源自於清理不足,繞過了為修復 CVE-2025-68613(CVSS 9.9)而引入的保護措施。 CVE-2025-68613 是一個嚴重漏洞,已於 2025 年 12 月修復。後續分析表明,新的 CVE 實際上是對原始修復的繞過,而不是完全不同的問題。研究人員已證實,這兩個漏洞都允許攻擊者逃逸 n8n 的表達式沙箱並繞過現有的安全檢查。在先前的揭露之後,表達式求值中的其他弱點也已被發現並修復。
攻擊前提條件和利用機制
任何擁有建立或修改工作流程權限的已認證使用者都可以利用此漏洞。透過將精心建構的表達式註入工作流程參數,攻擊者可以觸發意外的系統指令執行。一個特別危險的場景是建立一個無需身份驗證即可公開存取的 Webhook 的工作流程。攻擊者只需嵌入一行使用解構語法的 JavaScript 程式碼,即可使工作流程執行系統指令。一旦此類工作流程被激活,任何外部方都可以觸發 Webhook 並遠端執行命令。
當與 n8n 的 webhook 功能結合使用時,嚴重性會進一步加劇,因為該功能允許惡意工作流程公開暴露。在這種情況下,攻擊者無需除創建工作流程之外的任何額外權限即可利用此漏洞,這凸顯了研究人員總結的風險:如果允許建立工作流程,則可能完全控制伺服器。
根本原因:類型強制執行漏洞和運行時濫用
這個漏洞源自於 n8n 的清理機制有缺陷,以及 TypeScript 的編譯時類型系統與 JavaScript 的執行時間行為之間存在根本性的不匹配。雖然 TypeScript 在編譯期間會強制執行類型約束,但它無法保證在執行時由攻擊者控制的值仍然有效。攻擊者可以透過提供非字串值(例如物件或陣列)來繞過假定輸入為字串的清理邏輯,從而有效地破壞關鍵的安全控制措施。
對系統和數據的潛在影響
成功利用漏洞可能導致伺服器完全被攻陷。攻擊者可以竊取憑證、洩漏敏感資料、存取檔案系統和內部服務、入侵連線的雲端環境,並劫持人工智慧工作流程。安裝持久性後門的能力進一步增加了長期隱蔽訪問的風險。
受影響版本及緩解指南
該漏洞影響早於已修復版本的 n8n 版本,由十位獨立安全研究人員共同發現。以下版本受到影響,並在無法立即修復時建議以下臨時緩解措施:
受影響的版本:n8n 版本早於 1.123.17 和 2.5.2,這些版本已發布修復程式。
建議的緩解措施:將工作流程的建立和編輯限制為完全受信任的用戶,並在具有受限作業系統權限和限制網路存取的強化環境中部署 n8n。
這個問題凸顯了分層驗證策略的必要性。編譯時保證必須輔以嚴格的執行時間檢查,尤其是在處理不可信輸入時。程式碼審查應專注於清理例程,並避免對執行時未強制執行的輸入類型做出假設。
其他高危險 n8n 漏洞
除了 CVE-2026-25049 之外,n8n 還發布了另外四個安全漏洞的公告,其中兩個被評為嚴重漏洞:
CVE-2026-25053 (CVSS 9.4) :Git 節點中的作業系統命令注入漏洞,允許具有工作流程權限的已認證使用者執行命令或讀取任意檔案;已在 2.5.0 和 1.123.10 版本中修復。
CVE-2026-25054 (CVSS 8.5) :markdown 渲染元件中存在儲存型跨站腳本漏洞,允許以同源權限執行腳本並可能導致帳戶被接管;已在 2.2.1 和 1.123.9 版本中修復。
CVE-2026-25055 (CVSS 7.1) :SSH 節點中的路徑遍歷問題可能導致檔案寫入非預期位置,並可能在目標系統上執行遠端程式碼;已在 2.4.0 和 1.123.12 版本中修正。
CVE-2026-25056 (CVSS 9.4) :合併節點 SQL 查詢模式下的任意檔案寫入漏洞,可能導致遠端程式碼執行;已在 2.4.0 和 1.118.0 版本中修復。
緊急更新以降低風險
鑑於已發現漏洞的範圍和嚴重性,強烈建議將 n8n 部署更新至最新版本。及時修補漏洞仍然是防止漏洞被利用和後續入侵的最有效防禦措施。