何が起きたか
Redis が構成されている 0.9.0 から 0.10.0 より前では、Socket.IO 接続、ユーザー参加、チャネル参加、メモ参加、およびターミナル Websocket 最初のメッセージ認証は decode_token を使用しており、Redis バックアップ is_valid_token 失効状態をチェックしなかったため、失効またはログアウトしたトークンはこれらのコード パスに対して使用可能なままでした。
なぜ重要か
トークン失効は侵害されたセッションを終了するためのコア セキュリティ コントロールです。この欠陥は、失効したトークン (ログアウトアカウントまたは強制失効アカウントから) を保持している攻撃者がリアルタイム チャネルと組み込みターミナルに引き続き認証でき、自己ホスト型 AI プラットフォーム向けのインシデント対応コンテインメント対策を弱体化させることを意味します。
攻撃経路
失効した JWT トークンは Socket.IO/ターミナル認証の decode_token チェックに引き続き合格します。Redis バックアップの is_valid_token 失効状態がチェックされていないため。
影響を受けるシステム
Open WebUI 0.9.0 から < 0.10.0 (Redis が構成されている場合)
緩和策
Open WebUI ≥0.10.0 にアップグレードします。