- n8nのPython Code NodeにおけるCVE-2025-68668により、任意のシステムコマンド実行が可能
- ワークフロー権限を持つ攻撃者がPyodideサンドボックスを回避でき、マルウェア感染、データ窃取、システム侵害のリスク
- n8n v1.111.0で修正;v2.0.0では安全なタスクランナーによるPython分離がデフォルト
最近、n8nで重大度がクリティカルの脆弱性が見つかり、脅威アクターが基盤となるシステム上で任意のコードを実行できる可能性があることが判明しました。
n8nはオープンソースのワークフロー自動化プラットフォームで、ユーザーがアプリ、API、サービスを接続し、大量のコーディングなしでタスクを自動化できるようにします。ツール間でデータを移動させ、アクションをトリガーし、カスタムロジックを実行するビジュアルワークフローを構築できます。
GitHubに投稿されたセキュリティアドバイザリでは、ブラウザやその他のJavaScript環境向けのPythonランタイムであるPyodideを使用するPython Code Nodeに、サンドボックス回避の脆弱性が存在していたことが確認されました。
深刻度 9.9/10
この欠陥により、ワークフローの作成または変更の権限を持つ未認証ユーザーが、n8nを実行しているホストシステム上で任意のコマンドを実行でき、権限はn8nプロセスと同等になります。
これはCVE-2025-68668として追跡されており、深刻度スコアは9.9/10(クリティカル)と評価されました。
理論上、有効なアカウントとワークフロー編集権限を持つ攻撃者は、ワークフローのPython Code Nodeに特別に細工したPythonコードを埋め込み、Pyodideから脱出してシステムレベルのコマンドを呼び出すことができます。ホスト上で任意のコマンドが実行できるようになると、攻撃者はマルウェアやバックドアを展開し、機密データを窃取し、ネットワーク内を横方向に移動し、ワークフローを改変・妨害し、基盤となるシステムを完全に侵害する可能性があります。
この脆弱性はn8nバージョン1.111.0で修正され、「より安全な分離モデル」を提供するタスクランナーベースのネイティブPython実装が追加されました。この実装はオプション機能として導入され、ユーザーはN8N_RUNNERS_ENABLEDおよびN8N_NATIVE_PYTHON_RUNNER環境変数を設定することで有効化できます。
アドバイザリによると、この実装はn8nバージョン2.0.0からデフォルトになりました。
最新バージョンにアップグレードできない場合は、Code Nodeを無効化する、Code NodeでのPythonサポートを無効化する、またはタスクランナーベースのPythonサンドボックスを使用するようにn8nを設定する、といった利用可能な回避策を使用できます。