自動化されたワークフローを管理するAIセキュリティエンジニアとDevSecOpsプロフェッショナル向け、 CVE-2025-68668 これは、最新のAIオーケストレーションの分離レイヤーにおける重大な失敗を意味する。
組織はますます、次のことに依存するようになっている。 n8n LLM(大規模言語モデル)、ベクターデータベース、内部APIを接着するために、ワークフロー実行環境の完全性が最も重要になります。この脆弱性は、n8n Python Code Nodeにおける重大なサンドボックス・バイパスであり、なぜインタプリタ環境における「サンドボックス化」がセキュアであることが悪名高く困難であるかを正確に示しています。

CVE-2025-68668の解剖学
その中核となるCVE-2025-68668(CVSS 9.9)は、次のようなものです。 保護機構の故障 n8nのバージョンに影響 1.0.0 まで 2.0.0.に依存するPython Code Node実装を特にターゲットにしています。 ピオジドCPythonのWebAssembly/Emscriptenへの移植。
Pyodideは、制限された環境内で安全にPythonを実行するように設計されていますが、n8nバックエンド内の実装は、隔離境界を厳密に強制することができませんでした。

テクニカル・バイパス・メカニズム
この脆弱性により 認証済みユーザー (ワークフローの作成/変更権限を持つ) Pyodide 環境から抜け出すことができます。標準的なセキュアなセットアップでは、Python Code Node はホストの標準ライブラリへのアクセスを制限する必要があります。 os, サブプロセスそして システム.
しかしながら、脆弱なバージョンでは、インポート機構により、攻撃者は基礎となるホストシステムのシェルにアクセスすることができます。ワークフローエディタ内で特定のPythonペイロードを作成することで、攻撃者はn8nプロセス自身と同じ権限(Docker化された環境ではしばしばroot)で任意のコマンドを実行することができます。
脆弱性プロファイル:
| 特徴 | 詳細 |
|---|---|
| CVE ID | CVE-2025-68668 |
| ターゲット・コンポーネント | n8n Pythonコードノード (Pyodide) |
| 脆弱性タイプ | サンドボックス・バイパス/RCE |
| CVSSスコア | 9.9(クリティカル) |
| ベクトル | ネットワーク(認証済み) |
| インパクト | 完全なホストの妥協 |
コード解析:エクスプロイトの概念化
注:以下のコードブロックは、教育的かつ防御的な分析のためのものです。あなたが所有していないシステムに対しては使用しないでください。
このエクスプロイトは、Pyodideのラッパーにもかかわらず、ホストのファイルシステムやプロセス処理にアクセスできる能力を利用します。典型的な迂回ロジックは、制限されたモジュールを再インポートしたり js インターフェイス(公開されている場合)を使用して、Node.js ホスト・コンテキストにブリッジバックします。
パイソン
#サンドボックス脱出ロジックの概念表現
脆弱なn8nインスタンスでは、特定のシステムコールのブロックに失敗する。
try:# ホスト環境変数またはファイルシステムへのアクセスを試みています import os import subprocess
# もしサンドボックスが有効なら、これは PermissionError か ImportError を発生させるでしょう。
# CVE-2025-68668 では、これはホスト上で正常に実行される。
output = subprocess.check_output(['whoami'])
print(f "Sandbox Broken.ユーザー: {output.decode('utf-8')}")
#攻撃者は、OpenAI/AWSのキーを含む.envファイルをダンプするためにピボットすることができます。
# malicious_payload = subprocess.check_output(['cat', '/home/node/.n8n/config'])
except Exception as e: print("Environment Secure or Patched.")`.
AIセキュリティ・エンジニアにとって重要な理由
これは単なるウェブの脆弱性ではない。 AIエージェントのサプライチェーンリスク.
- クレデンシャル・ハーベスティング: n8nワークフローは、価値の高い秘密の宝庫だ:OpenAI APIキー、PineconeベクターDB認証情報、AWSアクセストークンです。エクスプロイトに成功すると、これらの環境変数に即座にアクセスできるようになります。
- モデル中毒: RCEを持つ攻撃者は、RAG(Retrieval-Augmented Generation)パイプラインに流れるデータを傍受し、コンテキストウィンドウを汚染したり、エンドユーザーに届く前にモデルの出力を変更したりすることができる。
- 横の動き: n8nは内部データベースにアクセスするためにVPC内に設置されることが多いため、侵害されたノードは内部ネットワークへの横移動のための理想的なピボットポイントとして機能する。
自動ペンテストによる脅威の検証
CVE-2025-68668を検出することは、従来の脆弱性スキャナにとって難題である。標準的な DAST(Dynamic Application Security Testing)ツールは、バージョンヘッダや単純な HTTP エラーコードを探すことが多い。これらのツールは、認証し、ワークフローを作成し、Pythonスニペットを注入し、コードがホスト上で実行されたかどうかを検証するロジックを欠いています。
そこで AIによる侵入テスト が不可欠になる。
寡黙 は、人間のセキュリティ・エンジニアの行動を模倣する自律型AIエージェントを活用しています。Penligentのエージェントは、静的なシグネチャに依存する代わりに、以下のことが可能です:
- 文脈化する: ターゲットがn8nインスタンスであることを理解する。
- 認証する: 提供された認証情報を使用して、ワークフローエディタにアクセスします。
- ペイロードを合成する: サンドボックスの境界を安全にテストすることを意図したPythonコードを動的に生成する(例えば、機密性のない一時ファイルの読み取りを試みる)。
- 検証する: 実行出力を分析し、サンドボックスが本当にバイパスされたかどうかを確認することで、レガシー・スキャナーによくある誤検知を排除します。
PenligentをCI/CDや定期的なセキュリティ監査に組み込むことで、CVE-2025-68668のような論理的脆弱性が本番環境で悪用される前に確実に検出されます。
修復と緩和戦略
CVE-2025-68668に対してAI自動化インフラを保護するためには、早急な対応が必要です。
1.すぐにアップグレードする
主な修正方法は、n8nを次のバージョンにアップグレードすることです。 2.0.0 またはそれ以上です。n8nチームはv2.0でPython実行モデルを完全にリファクタリングし、デフォルトでセキュアなネイティブPythonランナーを提供します。
2.Pythonコードノードを無効にする(一時的)
アップグレードがすぐにできない場合は、環境変数を使って脆弱なノードタイプを無効にすることで、リスクを軽減することができます:
バッシュ
# CodeノードのPythonサポートを無効にする export N8N_PYTHON_ENABLED=false
3.ワークフロー権限の制限
これは認証された脆弱性であるため、PoLP(Principle of Least Privilege)を適用する。信頼できるエンジニアのみが「ワークフロー作成」権限を持つようにする。ユーザリストを直ちに監査すること。
結論
CVE-2025-68668は、ローコードAIツールで複雑さを抽象化すると、新たなリスクのレイヤーを導入することになるということを明確に思い出させる。サンドボックス化されたコード実行の「ブラックボックス」的性質は、厳格で継続的な検証を必要とする。
現代のセキュリティ・エンジニアにとって、パッチ管理に頼ることは必要ではあるが不十分である。パッチ管理には 自動化された攻撃的セキュリティ・プラットフォーム ような ペンリジェント は、組織がこれらの複雑な統合の回復力を継続的にテストし、AIエージェントが潜在的な妨害者ではなく、召使いであり続けることを保証します。

