何が起きたか
OpenAI互換のエージェントchat-completionsエンドポイントは、呼び出し元がその特定のエージェントのキャンバスにアクセスできることを確認する認証チェックの前に、エージェントの実行を開始して結果を返します。チェックが遅すぎるため、認証決定が実質的にバイパスされます。
なぜ重要か
共有RAGFlowデプロイメントでは、これによりあるプリンシパルがアクセス制御層を介して別のプリンシパルのエージェント(チャット履歴、ツール、およびエージェントが行う呼び出し)を行使でき、クロステナントの情報開示と不正なエージェント使用を可能にします。
攻撃経路
POST /api/v1/agents/chat/completionsは、UserCanvasService.accessible()が呼び出し元が要求されたエージェントにアクセスできることを検証する前に、エージェントの完了を実行し、openai互換ブランチを通じて返します。
影響を受けるシステム
RAGFlow 0.25.2から0.27.3まで
緩和策
RAGFlow 0.27.3+にアップグレードしてください。修正コミット:https://github.com/infiniflow/ragflow/commit/20180790e1a8c55553a2f3e75718f3d65178ae6d