脆弱性・CVE速報深刻度: 高

n8n 2.42.6 未満などで、非推奨の Function ノードを使った細工したワークフローにより、メインプロセスでコード実行される(CVE-2026-119408): 2.42.6・2.43.3・3.0.1 で修正

目次(5)

CVE-2026-119408

ワークフロー自動化ツール n8n の 2.42.6 未満、2.43.x の 2.43.3 未満、3.x の 3.0.1 未満で、非推奨の Function・Function Item・LangChain Code の各ノードが、タスクランナーによる隔離の外(n8n のメインプロセス)で JavaScript を実行できる不具合(CVE-2026-119408、CWE-653)が 10/30 に NVD へ公開されました。ワークフローの作成・変更・インポートができる認証済みのユーザーが、パレットに表示されないこれらのノード名を指定したワークフローを登録すると、n8n のメインプロセス上でコードを実行できます。CVSS は v3.1 が 8.8、v4.0 が 8.7 で、いずれも High です(CNA の値)。修正版は 2.42.6・2.43.3(どちらも 10/9 UTC)と 3.0.1(10/28 UTC)です。 修正は、非推奨ノードを含むワークフローの新規保存・更新・インポートを拒否するもので、すでに保存済みのワークフローに含まれる非推奨ノードは、更新後もそのまま動きます。

何が起きるか

  • 公開された技術解説(2.42.0 を対象にした解析)によると、Function・Function Item・LangChain Code の3種類のノードは、画面のパレットから隠されている(hidden)だけで、ワークフローの JSON にノードの種別名を書けば保存・インポート・実行ができます。パレットの非表示は、アクセス制御にはなっていません。
  • これらのノードのコードは、Code ノード(v2)のように隔離されたタスクランナーではなく、n8n のメインプロセス内で実行されると解説は述べています。解説は、メインプロセスにはタスクランナー側に付けている実行制限のフラグが付かないとも指摘しています。
  • NVD の説明は、この結果として「ワークフローを作成・変更・インポートできる認証済みユーザーが、n8n のメインプロセスで JavaScript を実行できる」としています。メインプロセスで動くため、その n8n が持つ資格情報や設定、データベースに触れる可能性があります(影響の具体像は解説の説明に基づく推定で、当サイトでは再現していません)。
  • 悪用の報告は確認できていません。CISA の KEV には載っていません(2026.10.30 版の一覧で確認)。解説には検証用のコードへの案内がありますが、当サイトでは内容を実行していません。

影響を受ける条件

項目内容
対象n8n 2.42.6 未満、2.43.x の 2.43.3 未満、3.x の 3.0.1 未満(NVD の記載)
前提ワークフローの作成・変更・インポートができる認証済みのアカウント(権限は低くてよい)。解説は、既定のメンバー権限でも可能としている
評価CVSS v3.1 は 8.8(High、AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)、v4.0 は 8.7。値は CNA の VulnCheck が付けたもので、NVD 自身の評価ではない。GitHub の勧告(GHSA-48fh-2c4x-8wcm)も同じ値。NVD の状態は「Deferred」(10/31 時点)
弱点の分類CWE-653(権限・機能の分離の不備)
修正版2.42.6、2.43.3、3.0.1

修正の状況

  • 修正の本体は、非推奨ノードを含むワークフローの保存・インポートを拒否する変更です(コミット ea8417e、10/8 UTC、マスターブランチ)。差分を読んだところ、設定 N8N_DEPRECATED_NODES_BLOCK(既定は有効)が追加され、非推奨ノードを追加・変更するワークフローの保存や、インライン JSON・URL・ファイル由来のサブワークフロー、n8n のアシスタントが実行する単体ノードの実行を拒否します。設定のコメントには「すでに保存済みで非推奨ノードを含むワークフローは動き続ける」「古いバックアップを取り込むときなどに false で無効にできる」とあります。
  • 2.42.6 と 2.43.3 のリリースノートには、同じ内容の「Block create/update of workflows with deprecated nodes」が載っています(それぞれ #40707・#40706 のバックポート)。どちらも 10/9 UTC のリリースです。
  • 3.0.1 は 10/28 UTC のリリースです。マスターのコミット ea8417e は、3.0.1 だけでなく先行して出た 3.0.0(10/27 UTC、プレリリース扱い)にも含まれることをタグの比較で確認しました。NVD は「3.x の 3.0.1 未満」としていますが、3.0.0 が対象かどうかは確認できていません。
  • 修正は「新しく登録できなくする」ものです。保存済みのワークフローにある非推奨ノードを実行から外すものではないことが、設定のコメントから読み取れます。

対応

  1. 2.42.6 以上(2.42 系)、2.43.3 以上(2.43 系)、3.0.1 以上のいずれかへ更新します。
  2. 更新後も、既存のワークフローに Function・Function Item・LangChain Code が含まれていないかを確認します。含まれていれば、Code ノードなどへの置き換えを検討します(本記事の推定です)。
  3. N8N_DEPRECATED_NODES_BLOCK を false にしていないか確認します。古いバックアップの取り込みで一時的に無効にした場合は、作業後に有効へ戻します。
  4. すぐに更新できない場合は、ワークフローを作成・インポートできるアカウントを必要な人に絞ることを検討します。解説は、NODES_EXCLUDE の既定が Execute Command と Local File Trigger だけだと指摘しており、これらのノード種別を除外対象に加える方法も考えられます(本記事の推定で、効果は検証していません)。

未確認の点

  • 悪用の報告は確認できていません。KEV にも載っていません。
  • NVD の評価は未実施(状態は Deferred)で、CVSS は CNA(VulnCheck)の値です。GitHub の勧告は同じ値を載せています。
  • EPSS は 0.63%(10/31 時点、パーセンタイル 50.1%)です。
  • 影響の具体像(メインプロセスでの権限、資格情報への到達)は、公開された技術解説の説明に基づくもので、当サイトでは再現していません。2.42.0 より前の版の挙動も確認していません。
  • 3.0.0(プレリリース)が影響を受けるかは確認できていません。
  • 日付は、NVD の公開(2026-10-30 12:16 UTC)、GitHub のリリース・コミットの記録に基づきます。

この記事について

出典

この記事を共有