n8nのアップデート手順と脆弱性対策|1.xから2.xへの移行で動かなくなる3つを実機で確認

PRこの記事にはアフィリエイト広告が含まれます。紹介したサービスに申し込まれると、運営者が報酬を受け取ることがあります。評価や順位は報酬で変えていません。広告表記について

n8n は、新しい版がとても頻繁に出ます。公式ドキュメントによると、マイナー版はほぼ毎週出ます。GitHub のリリース一覧を見ると、2026年10月はパッチ版もほぼ毎日公開されていました。脆弱性の公表も多く、2026年に公表されたセキュリティアドバイザリは、10月23日時点で211件ありました(GitHub で集計)。

セルフホストの n8n は、自分で更新しないと修正を受けられません。この記事では、安全に更新する手順と、1.x から 2.x へ移行するときに動かなくなるものを、手元で実際に試した結果で解説します。

結論

  • 版は固定し、月に1回以上は更新する。 公式も、版の番号を固定することと、月に1回以上の更新を勧めています。
  • 更新の前に、ボリュームを丸ごとバックアップする。 暗号鍵を含むため、これがあれば元の版に戻せます。
  • 1.x から 2.x に上げる場合は、移行前のチェック機能だけに頼らない。 手元では、チェック機能が指摘しなかったワークフローも動かなくなりました。

2.x の中での更新手順

n8n を Docker でセルフホストする手順の構成を例にします。

1. バックアップを取る

構築の記事の手順4と同じ方法で、ボリュームを丸ごと固めます。

docker compose stop n8n
docker run --rm \
  -v n8n_n8n_data:/data:ro \
  -v "$PWD":/backup \
  alpine:3.22 tar czf /backup/n8n_data-before-update.tar.gz -C /data .

2. 版を書き換えて起動する

compose.yaml の image: の版を、新しい版に書き換えます。latest や stable のような名前ではなく、版の番号を書きます。名前で指定すると、意図しないときに版が変わるためです。

    image: docker.n8n.io/n8nio/n8n:2.44.6
docker compose pull n8n
docker compose up -d
docker compose logs n8n | grep Version

手元では 2.44.5 から 2.44.6 に更新し、ログに Version: 2.44.6 と表示されること、公開済みの Webhook がそのまま動くことを確かめました。

新しい版は、GitHub のリリース一覧で確認できます。n8n@2.44.6 のように番号が付いたものが正式な版です。「Pre-release」と表示されているもの(ベータ版)は避けてください。

1.x から 2.x への移行

n8n 2.0 は 2025年12月に公開され、既定の動きが多く変わりました。データの保存先に MySQL や MariaDB を使っている場合は、2.0 では使えなくなったため、先に PostgreSQL か SQLite へ移す必要があります(この記事の検証は SQLite で行いました)。1.x 系にも修正が続いているため、まだ 1.x を使っている人もいるはずです。そこで、1.123.87 で4種類のワークフローを作り、2.44.6 に上げたらどうなるかを試しました。

結果:3つが動かなくなった

ワークフロー 1.123.87 2.44.6(既定のまま) 移行前のチェック機能
Code ノードで環境変数($env)を読む 成功 失敗:access to env vars denied 指摘なし
Execute Command でコマンドを実行する 成功 失敗:Unrecognized node type 指摘あり
サーバー上のファイルを読む 成功 失敗:Access to the file is not allowed. 指摘あり
Webhook で起動する(有効化済み) 成功 成功 —

移行前のチェック機能とは、1.x の Settings → Migration Report です。2.0 で問題になる設定やワークフローを一覧にしてくれます。手元では「4つのうち2つは対応済み」と表示されました。しかし、実際には環境変数を読む Code ノードも動かなくなりました。Code ノードで $env を使っている場合は、チェック機能の結果にかかわらず確認が必要です。

それぞれの原因と対処

2.0 では、どれもセキュリティのために既定が変わったものです。

  • 環境変数の読み取り:Code ノードなどから環境変数を読むことが、既定で禁止されました。値は、n8n の資格情報(Credentials)に移すのが安全です。どうしても元に戻すなら N8N_BLOCK_ENV_ACCESS_IN_NODE=false を設定します。
  • Execute Command:このノードと Local File Trigger が、既定で無効になりました。サーバー上でコマンドを実行できるノードなので、本当に必要か見直してください。戻すなら NODES_EXCLUDE=[] を設定します。
  • ファイルの読み書き:ファイルを扱うノードが読み書きできる場所が、既定で ~/.n8n-files に限られました。別の場所を使うなら、N8N_RESTRICT_FILE_ACCESS_TO にそのディレクトリを指定します(構築の記事の構成では /files を指定済みです)。

手元では、3つの設定を加えると、3つのワークフローがすべて元どおり動きました。ただし、上の2つは 2.0 で意図して塞がれた機能です。戻す場合は、ワークフローを編集できる人を信頼できる人だけに限ってください。

戻し方

移行の前に取ったバックアップを戻し、image: の版を 1.123.87 に書き換えて起動すると、元の状態に戻りました。4つのワークフローと Webhook がすべて動くことを確かめています。復元のコマンドは、構築の記事の手順4と同じです。

脆弱性への備え

2026年は公表が非常に多い

GitHub で n8n のセキュリティアドバイザリを集計すると、2026年1月1日から10月23日に公表されたものは211件でした。深刻度の内訳は、Critical が19件、High が94件です。

特に影響が大きかったものを2つ挙げます。

  • CVE-2026-21858(深刻度 Critical、CVSS 10.0):Webhook の処理の不備により、特定のフォーム系のワークフローを公開している場合に、ログインしていない人がサーバー上のファイルを読める問題です。1.65.0 以降 1.121.0 未満が対象でした。
  • CVE-2025-68613:2025年12月に公表された、ワークフローを編集できる人が式の評価を通じてサーバー上でコードを実行できる問題です。米国の CISA が、実際に悪用が確認された脆弱性の一覧(KEV)に 2026年3月11日に追加しました。

Critical の多くは、ワークフローを作成・編集できるユーザーがサーバー上でコードを実行できる、という種類のものです。一人で使っているなら、ログインしなくても使える入口が実害に直結しやすいと言えます。外に公開している Webhook やフォームの入口がそれに当たります。

日ごろやっておくこと

  • リリースを購読する。 https://github.com/n8n-io/n8n/releases.atom を RSS リーダーに登録すると、新しい版を見逃しません。脆弱性の一覧は GitHub のセキュリティアドバイザリで確認できます。2026年のアドバイザリは、多くが修正版と同じ日に、2週間おきにまとめて公表されていました。公表された時点で修正版は出ているので、公表を見たらすぐに更新できるようにしておきます。
  • 使っていない Webhook やフォームは止める。 外から呼べる入口を減らすほど、ログインなしで悪用される余地が減ります。
  • 編集できるユーザーを絞る。 複数人で使う場合は、ワークフローを編集できる権限を信頼できる人だけに与えます。

今後の大きな変更:n8n 3.0

n8n は、3.0 での破壊的な変更をすでに公表しています(公開日は未定)。主なものは次のとおりです。

  • セルフホストは Docker での運用が前提になる
  • ファイルの保存先 ~/.n8n/binaryData の名前が ~/.n8n/storage に変わる
  • Code ノードなどを動かす仕組み(タスクランナー)の制限時間の既定値が、300秒から60秒に短くなる

2.x の今の版でも、起動時のログに、タスクランナーの制限時間などについて「非推奨」の表示が出ています。1.x から更新して ~/.n8n/binaryData がある環境では、保存先の名前が変わることの警告も出ました。3.0 が出る前に、公式の変更点のページで自分の環境に関係するものを確認しておくと安心です。

出典

  1. n8n v2.0 breaking changes(n8n 公式ドキュメント)(に確認)
  2. Backup and restore(n8n 公式ドキュメント)(に確認)
  3. n8n のセキュリティアドバイザリ(GitHub)(に確認)
  4. GHSA-v4pr-fm98-w9pg(CVE-2026-21858、GitHub)(に確認)
  5. Known Exploited Vulnerabilities Catalog(CISA)(に確認)