Darrell TW

n8n 自動化工作流程教學
MarTech 解決方案分享

0%

n8n 資安漏洞 CVE-2025-68613 快點來更新你的 n8n 版本!

n8n-security-vulnerability-2025-bg

漏洞概要

CVE-2025-68613 | CVSS 9.9/10(極危險)

影響版本:0.211.0 ~ 1.120.3、1.121.0
修復版本:1.120.4、1.121.1、1.122.0 以上
公開日期:2025/12/19

這個漏洞的核心問題在於 Expression 的 Sandbox 隔離不足

Expression 是 n8n 常用的表達式語言
用在動態控制資料,例如:

1
2
3
{{ $now.format('yyyy-MM-dd') }}
會得到今天的日期
2025-12-24

而這個漏洞的意思是:只要擁有「編輯 workflow」權限的使用者,
就能透過特製的表達式執行任意系統指令,進而操控 n8n 主機。不需要管理員權限,攻擊門檻極低。

白話來說,攻擊前提是:攻擊者能登入你的 n8n,並且有 workflow 編輯權限(Editor),才有機會利用 Expression 來觸發風險。

根據公開掃描統計,全球有 超過 10 萬個 n8n 實例可能受影響,且 PoC 攻擊程式碼已在網路上流傳。
雖然資安問題看起來很嚴重,不過如果你的 n8n 不對外開放登入、也沒有其他人帳號/分享 Editor 權限,風險相對較低
但只要有人能登入並編輯 workflow,就要當成高風險。

被攻擊的可能有哪些?

意外分享 n8n 權限給外部使用者

一旦外部使用者擁有 n8n 的編輯權限
他就可以修改 workflow 中的 expression 來執行系統指令
可能會從中竊取資料或執行任意指令
這時候你的 n8n 主機就會被攻擊

另一種帳號的問題
就是原本登入的帳密不小心被別人知道
那他也能登入到你的 n8n 進行編輯

匯入來路不明的模板

這是另一個可能比較容易中招的方式
如果他把惡意的 expression 藏在模板中
那就有可能在你匯入模板並且執行時就會中招!

n8n 匯入模板時的資安警告示意圖,顯示偵測到惡意程式碼與未經授權的 Expression 修改

還好目前問題已經被修復,並且有更新的版本
身為使用者的我們就是去更新 n8n 的版本就能解決問題
下面教大家怎麼檢查版本跟更新版本

如何檢查版本

方法一:從 UI 查看

進入 n8n 後台,點擊左下角的 ❔ icon → About n8n → 就會顯示目前版本

n8n 設定頁面截圖,顯示左側選單最下方標示的目前版本號碼,用於檢查是否為受影響的漏洞版本

如果版本號在 0.211.0 ~ 1.120.3 之間或是 1.121.0,請立即更新。

方法二:從命令列查看(Docker / npm 常用)

1
2
3
4
5
# npm 全域安裝
n8n --version

# Docker(容器內)
docker exec -it <container_name> n8n --version

更新修復方式

n8n CVE-2025-68613 安全漏洞的更新修復方式說明圖,包含 Docker 和 Zeabur 平台的更新步驟

Docker 環境

選項 A:升級到 1.x 修復版(推薦,最快速)

1
2
3
4
5
# 指定修復版本
docker pull n8nio/n8n:1.122.0

# 重新啟動容器
docker compose down && docker compose up -d

選項 B:升級到 2.x 版本

2.x 有 breaking changes,升級前請先:

  1. Settings > Migration Report 檢查相容性
  2. 備份所有 workflows
1
2
3
docker pull docker.n8n.io/n8nio/n8n:latest

docker compose down && docker compose up -d

官方 2.x 遷移指南:n8n v2.0 breaking changes

n8n 2.0 大更新:除了新功能,更該擔心能不能順利 Migrate

n8n 2.0 大更新要來了!包含新功能介紹、Migration Report 使用教學、Breaking Changes 詳解

n8n 2.0 大更新:除了新功能,更該擔心能不能順利 Migrate

Zeabur 平台

  1. 進入專案的 n8n 服務
  2. 點擊設定,在下方會看到版本號,調整為想要更新的版本
    建議更新原則(以官方公告為準):
    1.x:升級到 1.120.4 / 1.121.1 / 1.122.0(或以上)
    2.x:升級到最新的 Patch 版本
Zeabur 平台 n8n 服務設定頁面截圖,顯示如何在下方的版本號選單中選擇並更新到修復版本(請以官方公告列出的修復版本或更新版為準)

npm 全域安裝(非 Docker)

如果你是用 npm 全域安裝 n8n,建議直接升到修復版本或最新版本:

1
2
3
4
5
# 直接升到最新版本
npm i -g n8n@latest

# 或指定升到某個修復版(示例)
npm i -g n8n@1.122.0

常見問題

這個漏洞會影響到我嗎?
如果你的 n8n 版本在 0.211.0 到 1.120.3 之間,或是 1.121.0,且有其他人可以登入並編輯 workflow,那你就可能受到影響。如果你的 n8n 只有自己使用、沒有對外開放登入,風險會比較低,但仍建議儘快更新。
更新 n8n 後需要重新設定 workflow 嗎?
如果你從 1.x 升級到 1.x 的修復版本(如 1.120.4、1.121.1、1.122.0),通常不需要重新設定。但如果要升級到 2.x 版本,建議先到 Settings > Migration Report 檢查相容性,並備份所有 workflow。
Cloud 版本用戶需要擔心嗎?
官方 Cloud 版本會由 n8n 一起更新,通常不需要擔心。也可以到 Settings 確認一下目前的版本。
n8n 安裝部署教學 - 官方Cloud、Zeabur、本機部署和Glows.ai 該怎麼選?

n8n 部署教學:官方 Cloud、Zeabur、Docker 和 Glows.ai 方案完整比較

n8n 安裝部署教學 - 官方Cloud、Zeabur、本機部署和Glows.ai 該怎麼選?

參考資料