[緊急警告] n8nのXMLノードにおけるプロトタイプ汚染とRCEの危険性 (CVE-2026-44791)
はじめに:n8nユーザーの皆様へ
日本のフロントエンドエンジニアの皆様、こんにちは。本日は、ローコード自動化プラットフォームであるn8nに発見された、非常に深刻な脆弱性についてご説明します。フロントエンドエンジニアの方々の中には、CI/CDパイプラインの一部としてn8nを利用していたり、バックエンドチームと連携してワークフローを構築したりする機会もあるかもしれません。今回の脆弱性は、JavaScriptの根幹をなす「プロトタイプ汚染」が巧妙に再悪用され、最終的にホストサーバー上での任意のコード実行(RCE)につながる可能性を秘めています。この解説を通じて、皆様のシステムが安全であることを確認し、適切な対策を講じていただく一助となれば幸いです。
脆弱性の概要:プロトタイプ汚染の再燃とRCEの危険性
今回報告された脆弱性 (GHSA-wrwr-h859-xh2r / CVE-2026-44791) は、n8nのXMLノードに存在し、その深刻度は「critical」と評価されています。この脆弱性の根本原因は、過去に修正された「プロトタイプ汚染」のパッチが、特定の条件下で認証済みユーザーによって迂回されてしまう点にあります。
JavaScriptにおける「プロトタイプ汚染(Prototype Pollution)」とは、`Object.prototype` などのグローバルなプロトタイプオブジェクトに、攻撃者が任意のプロパティを追加または変更できてしまう脆弱性です。これにより、アプリケーション内の全てのオブジェクトに影響が及び、予期しない動作やセキュリティ上の問題を引き起こす可能性があります。フロントエンド開発でも、ライブラリの脆弱性などで耳にすることがあるかもしれません。
n8nのXMLノードでは、このプロトタイプ汚染を悪用することで、他のノードと組み合わせることでn8nが動作しているホストサーバー上で「任意のコード実行(RCE: Remote Code Execution)」が可能になることが判明しました。RCEは、攻撃者がサーバーを完全に制御できる可能性を意味し、システム全体に壊滅的な影響を及ぼす非常に危険な脆弱性です。
対象となるユーザーと悪用条件
この脆弱性の悪用には、n8n環境への「認証」が必要であり、かつ「ワークフローの作成または変更権限」を持つユーザーが対象となります。つまり、外部からの匿名攻撃ではなく、内部の信頼されたユーザー、あるいはアカウントを乗っ取られた認証済みユーザーによって悪用されるリスクがあるということです。内部の人間による悪用や、アカウントの乗っ取りが発生した場合、その影響は甚大になる可能性があります。
直ちに対応を:推奨される対策
最も重要かつ推奨される対策は、n8nを脆弱性が修正されたバージョン、またはそれ以降の最新バージョンへ直ちにアップグレードすることです。以下のバージョンでこの脆弱性は修正されています。
<ul><li><strong>n8n 1.123.43</strong></li><li><strong>n8n 2.20.7</strong></li><li><strong>n8n 2.22.1</strong></li></ul>
お使いのn8nのバージョンを確認し、上記のいずれか、またはそれ以降の最新バージョンへのアップグレードを最優先で実施してください。セキュリティアップデートは定期的にリリースされるため、常に最新の状態を保つことが重要です。
緊急時の回避策(一時的な緩和策)
何らかの理由で直ちにアップグレードが難しい場合、以下の緊急回避策を検討できます。ただし、これらはリスクを完全に排除するものではなく、あくまで短期的な緩和策であることをご理解ください。根本的な解決のためには、アップグレードが必須です。
<ul><li><strong>ワークフローの作成および編集権限を厳格化する:</strong> ワークフローを作成・変更できるユーザーを、完全に信頼できる最小限のメンバーのみに限定します。</li><li><strong>XMLノードを無効化する:</strong> 環境変数 <code>NODES_EXCLUDE</code> に <code>n8n-nodes-base.xml</code> を追加し、XMLノード自体を無効化します。これにより、XMLノードを介した攻撃経路を一時的に遮断できます。</li></ul>
例 (環境変数設定):
<code>NODES_EXCLUDE=n8n-nodes-base.xml</code>
まとめ
n8nのXMLノードにおける今回のプロトタイプ汚染のパッチ迂回は、認証済みユーザーによってRCEにつながる非常に危険な脆弱性です。貴社のn8n環境が安全であることを確認するため、指定バージョンへの迅速なアップグレードを強く推奨いたします。
セキュリティは組織全体の取り組みであり、フロントエンドエンジニアの皆様も、利用しているツールやライブラリのセキュリティ情報に常に注意を払うことが重要です。ご不明な点があれば、n8nの公式ドキュメントやサポート情報を参照し、適切な対応をお願いいたします。