何が起きたか
NextChatのサーバーサイドLLMプロキシは正しいホスト名検証の代わりに部分文字列検証のためにスプーフィングされたベースURLヘッダーを受け入れ、認証されていないリモート攻撃者がプロキシのアウトバウンドリクエスト—それが持つAPIキー—を制御するサーバーにリダイレクトすることを許可しました。
なぜ重要か
認証されていない攻撃者からの単一の細工されたHTTPリクエストは展開のOpenAI請求認証情報を完全に流出させ、アカウント乗っ取り、財務的虐待、および攻撃者のエンドポイント経由でプロキシされた後続のプロンプトのデータ公開を有効にします。
攻撃経路
プロキシエンドポイントはホスト名解析の代わりに部分文字列マッチングを使用してx-base-urlヘッダーを検証するため、認証されていない攻撃者は実際には攻撃者制御ホストに解決される'api.openai.com'を含む細工されたx-base-urlを送信でき、サーバーのAuthorizationヘッダー(OpenAI APIキーを持つ)がそのホストに送信されることになります。
影響を受けるシステム
ChatGPTNextWeb NextChat バージョン 2.15.8~2.16.1
緩和策
NextChat 2.16.1以降にアップグレードしてください(またはホスト名完全一致検証を適用してください)。公開されたOPENAI_API_KEYをローテーションしてください。プロキシルートを制限/無効にしてください。出力ホワイトリストを使用してください。