リモートコード実行を可能にする重大なn8n脆弱性のPoCエクスプロイトが公開

セキュリティ研究者は、企業環境で重要な業務プロセスのオーケストレーションや、社内システムおよびクラウドサービスとの連携に広く利用されているワークフロー自動化プラットフォーム「n8n」に影響する、重大なリモートコード実行脆弱性について、概念実証(PoC)エクスプロイトコードが公開されたことを確認しました。

この脆弱性は、n8nのワークフロー処理エンジンにおけるJavaScript式の評価が不適切であることに起因します。

ユーザーがワークフローを作成または編集する際、プラットフォームは二重の波括弧 {{ }} で囲まれたユーザー入力を、サーバー側で実行可能なJavaScriptコードとして処理します。

しかし、実行環境には十分なサンドボックス保護がなく、攻撃者が危険なNode.jsオブジェクトやシステムモジュールにアクセスできてしまいます。

悪用は認証済みユーザーにとって容易です。低権限のアカウント権限しか持たない攻撃者であっても、ワークフローノードに悪意のある式を注入したり、REST API経由で細工したペイロードを送信したりできます。

ペイロードはNode.jsのprocessオブジェクトにアクセスし、child_processのようなシステムモジュールを読み込むことで、基盤ホスト上で直接コマンドを実行できるようになります。

成功すると攻撃者はシステムへの完全なアクセスを獲得し、環境変数からの認証情報の窃取、機密ファイルの読み取り、バックドアの設置、接続されたシステムを介した水平展開が可能になります。

影響を受けるバージョンを運用している組織は、v1.120.4、v1.121.1、v1.122.0、またはそれ以降のリリースへの緊急パッチ適用を最優先する必要があります。

パッチ適用前に、ワークフローログ内で process.mainModule.require、child_process、または execSync を含む不審な式を監視する体制を実装してください。

ネットワークチームは、外部からのn8nアクセスを制限し、ユーザー権限を信頼できるアカウントに限定し、最近のワークフロー変更を監査して異常がないか確認すべきです。

セキュリティチームは環境変数の設定を見直し、接続されているデータベースやクラウドプラットフォーム全体で、露出した可能性のある認証情報を直ちにすべてローテーションする必要があります。

エクスプロイトコードの公開リリース により脅威のタイムラインは大幅に加速しており、実環境での悪用は差し迫って起こると見込まれます。

この脆弱性の重大性と、自動化されたインフラ環境に存在するという性質を踏まえ、組織は修復対応を、経営層による即時の優先付けと、セキュリティ、DevOps、インフラチーム横断の連携対応を要する緊急のセキュリティインシデントとして扱うべきです。

翻訳元: https://cyberpress.org/poc-n8n-vulnerability/

ソース: cyberpress.org