RAGFlow の脆弱性 CVE-2025-48187 (CVSS 9.1):アカウント乗っ取りに No Patch/Yes PoC

High-Risk RAGFlow Flaw: Account Takeover Possible (No Patch, PoC Available)

2025/05/20 SecurityOnline — Infiniflow が開発したオープンソースの RAG (Retrieval-Augmented Generation) プラットフォーム RAGFlow に、深刻なアカウント乗っ取りの脆弱性が発見された。この脆弱性 CVE-2025-48187 (CVSS:9.1) を悪用する攻撃者は、ブルートフォース攻撃によるメール認証コードの不正取得を達成し、ユーザー登録/ログイン/パスワードに対するリセット攻撃などの可能性を得る。

ドキュメント理解やスケーラブルな質問応答システム向けの、AI エンジンである RAGFlow は、GitHub で 52,800以上のスターと 5,100以上のフォークを持つ人気プロジェクトである。企業向け LLM アプリの基盤として利用されており、ドキュメント検索/チャンク処理/文脈に応じた生成といった機能を備えている。

アドバイザリでは、「RAGFlow バージョン 0.18.1 以下に、アカウント乗っ取りの脆弱性が存在する」と説明されている。

この脆弱性は、以下の複数の API エンドポイントで使用される、メール認証コードの不適切な処理に起因する:

  • /api/verify-code:パスワード・リセットとログイン時に使用
  • /api/signup:登録時に使用

攻撃者は、レート制限に遭遇することなく、6桁の認証コードを総当たりで試行できるため、以下のような攻撃が可能になる:

  • 他のユーザーのパスワードをリセット
  • 他人のメールアドレスで新しいアカウントを作成
  • 既存のアカウントへのログイン

攻撃者の手順は、パスワード・リセットページにアクセスし、被害者のメール・アドレスを使用して認証コードを受け取るという流れだ。続いて、”/api/verify-code” へのリクエストを傍受し、ブルートフォースを仕掛けることで認証を突破する。

RAGFlow account takeoverCVE-2025-48187
Image: Qiushuo

さらに、認証を回避しながら、細工された POST “/api/set-password” リクエストでパスワードをリセットすることで、攻撃者による乗っ取りが達成される。アドバイザリには、「最終的に、アカウントの乗っ取りは成功する」と記されている。

同様に、レジストレーション・ページでも、以下の手口で認証を突破できる:

  • 被害者のメール・アドレスを使用して登録を開始
  • POST “/api/signup” リクエストの傍受/操作
  • メール・アドレスの認証をブルートフォースで突破。

RAGFLow の研究者は、「レート制限が設定されていない。したがって、任意のユーザー登録が可能になる」と指摘している。

さらに、RAGFlow では、ワンタイム・コードによるログイン機能もあるが、そこでも “/api/verify-code” が使用されている。つまり、同じ手法を用いる攻撃者は、パスワードを必要とせずに、アカウントへログインが可能となる。

研究者は、「この仕組みにより、任意のユーザーとしてのログインが達成され、完全なアカウント乗っ取りが実現されてしまう」と警告している。

この脆弱性により、以下のような深刻な被害が生じるおそれがある:

  • 企業環境における機密 AI データや文書データの漏洩
  • 共有 RAGFlow 環境での開発者や管理者アカウントの乗っ取り
  • RAGFlow の普及を悪用した公開デモや、多数のインストール環境への横展開的な攻撃

現時点において、この脆弱性に対するパッチは提供されていない。また、これらのエンド・ポイントに対するレート制限も、GitHub リポジトリでの記載が確認されていない。