N8n Docker 映像檔移至 Node.js 26.12.1(10 月 21 日安全性版本)?

大家好,

Node.js 於 2026 年 10 月 21 日發布安全更新(22.23.4、24.22.1、26.12.1)。這些更新修復了四個高嚴重性問題,包括 CVE-2026-111497(Brotli 解碼器中的越界寫入,可能允許遠端程式碼執行),以及兩個 TLS 主機名驗證繞過漏洞(CVE-2026-105483、CVE-2026-106069)。

我們的自主託管 n8n(最新穩定版本 2.44.4)及其 task-runners 容器都報告 Node v26.7.0,因此仍在未修補的執行時環境上。

兩個問題:

  1. Docker 映像建立在 Node 26.12.1 或更新版本上的穩定版本何時發布?
  2. 在此之前,對於具有公開 Webhook 的自主託管者,是否有建議的緩解措施?

謝謝!

Node 公告:Node.js — Wednesday, October 21, 2026 Security Releases

一個更新:2.44.5 現已列出,但我無法從其發行說明確認捆綁的 Node 執行時是否有變更。

能否請團隊確認 n8n 和 task-runners 的第一個修補映像標籤,以及是否有官方風險評估或臨時指導?我不會假設較新的 n8n 版本單獨能確認執行時的修復。

我所知道的沒有預計到達時間。在此期間,我會將公開 webhook 放在反向代理或 Cloudflare 後面,只允許確切的 webhook 路徑通過,拒絕具有 Content-Encoding br 的請求,並新增標頭密鑰或 IP 允許清單。也要確保任務執行器容器無法從外部存取。

我想表達我的支持,並強調這值得 n8n 團隊快速回應。

根據 master 上的 Dockerfile,當前穩定版映像檔(n8nio/n8n:2.44.5)使用 Node.js 26.10.0。2026 年 10 月 21 日發佈的 Node.js 安全版本(包括 26.12.1)修復的問題遠不止上述列出的問題。其中我特別關注的一個是 eMudhra 中間 CA 洩露(https://emudhra.we-have-a-problem.com/),儘管它沒有 CVE,但在這些版本中也得到了解決。

我認為這對 n8n 特別緊急的原因:n8n 是一個專為與任意外部端點通訊而構建的產品。HTTP 請求節點和許多整合會對工作流作者選擇的主機進行出站 TLS 連線,並且經常傳輸認證信息和敏感資料。信任存儲中被洩露的中間 CA 直接影響這些連線的可信度。

感謝你們在 n8n 上所做的一切工作!

嗨 @Nickolas_Steel,2.44.5 的 Dockerfiles 仍然為 n8n 和任務運行器目標 Node 26.10.0。我找不到使用 26.12.1 的已發布穩定映像的 ETA,或 n8n 特定的曝露評估。

上述緩解措施的一個限定條件:阻止傳入的 Content-Encoding: br 請求只涵蓋該輸入路徑。它不涵蓋 TLS 主機名驗證問題,或由工作流下載和解壓的 Brotli 數據。

在確認修補映像之前,我建議限制公開 webhook 調用者,並臨時暫停處理不受信任的壓縮內容或獲取攻擊者控制的 URL 的路徑。將任務代理保持在私有的 5679 端口以及運行器容器上。這些是遏制措施,不是運行時修復的替代品。

在我這邊確認了,直接在每個映像中檢查 Node 版本(docker run --rm --entrypoint node ``ghcr.io/n8n-io/n8n:``<tag> -v):

n8n 標籤 Node
2.38.7 v26.7.0
2.44.5 (穩定版,10 月 21 日) v26.10.0
2.45.1 (測試版) v26.10.0

所以 2.44.5 確實更新了 Node,但只更新到 26.10.0。這仍低於修補版本 26.12.1,因此不會解決 CVE-2026-111497、CVE-2026-105483 或 CVE-2026-106069。

查看程式庫,docker/images/runners/Dockerfile 固定了 NODE_VERSION=26.10.0,主映像是基於 DHI Node 基礎映像建置的。更新是否在等待修補的 DHI 映像?第一個穩定標籤上 Node ≥ 26.12.1 的 ETA(針對 n8n 和執行器)是什麼?這將幫助自託管者進行規劃。謝謝!

我對這個問題也有些擔憂。不僅是因為安全威脅,還因為 n8n 方面缺乏回應。我知道我們不能要求立即更新,但至少我們期望看到一篇簡單的帖子說明後續步驟和預計完成時間。
安全回應對我們社群來說很重要

快速更新:n8n 剛剛在兩個頻道上發佈了新版本,穩定版 2.44.6 和測試版 2.45.2。

我檢查了穩定版 2.44.6,其 Node.js 版本現在是 v26.12.1,所以 Node.js 26.12.1 安全修復(包括 eMudhra 中間憑證授權單位修復)現已包含在 Docker 映像中。

❯ docker run --rm --entrypoint node n8nio/n8n:2.44.6 -v
v26.12.1
❯ docker run --rm --entrypoint node n8nio/runners:2.44.6 -v
v26.12.1

非常感謝 n8n 團隊的迅速回應!修復 PR 在這裡:ci: Update node versions across CI to latest by Matsuuu · Pull Request #41768 · n8n-io/n8n · GitHub

非常感謝你們在這方面的工作。

嗨 Nickolas,我是 n8n 支援的 Urška。確認 blueberrystream 發現的情況:穩定版的 2.44.6 是基於 Node 26.12.1 建置的,n8n 映像和任務執行器映像都是如此。測試版的 2.45.2 在其 Dockerfiles 中採用相同的 Node 版本。

對於第二個問題,答案就是升級本身。我沒有值得信賴的解決方案可以推薦來替代它,所以我會升級到 2.44.6,而不是嘗試保護未修補的執行環境。