何が起きたか
Open WebUI の POST /api/chat/completions エンドポイントは、URL プレフィックスに基づいて image_url.url 値に特別な処理を適用します。予期される URL スキームと一致しない値はファイル ID として扱われ、リクエストユーザーが参照ファイルを所有しているかどうかを確認せずにグローバルファイルストアに対して解決されます。これにより、認証されたユーザーが他のユーザーによってアップロードされた任意のファイルを読み取ることができます。
なぜ重要か
エンタープライズ Open WebUI デプロイでは、ユーザーが LLM 会話のコンテキストとして機密ドキュメント、コード、データをアップロードします。この IDOR により、任意のユーザーが別のユーザーのプライベートファイルを静かに流出させることができます。RAG または分析ワークフローに供給されたドキュメントを含みます。
攻撃経路
攻撃者が image_url.url 値を含む POST /api/chat/completions リクエストを送信します。この値は http://、https://、または data:image/ で始まりません。サーバーはこれをファイル ID として解釈し、グローバルファイルストアに対して解決し、任意のユーザーに属するファイルを返します。
影響を受けるシステム
Open WebUI < 0.9.6
緩和策
Open WebUI 0.9.6 にアップグレードしてください。アドバイザリ: https://github.com/open-webui/open-webui/security/advisories/GHSA-wch8-mhj5-9frg