何が起きたか
LibreChatはユーザーがbaseURLを設定してOpenAI互換のAPIエンドポイントをカスタマイズすることを許可しています。0.8.4-rc1より前には、このURLはSSFR検証なしでサーバーサイドHTTPリクエストに直接渡されます。認証された攻撃者はbaseURLを内部ネットワークアドレスにポイントして、クラウドメタデータサービス、内部API、または他の制限されたエンドポイントに到達することができ、LibreChatサーバーは気付かないプロキシとして機能します。
なぜ重要か
クラウドデプロイされたLibreChat実行インスタンス(一般的なデプロイメントパターン)では、baseURLフィールド経由のSSFRはクラウドインスタンスメタデータ(AWS/GCP/Azure認証情報エンドポイント)、ベクトルデータベースやモデルサービングAPIなどの内部AI インフラストラクチャ、インターネットから到達することが意図されていないバックエンドサービスを露出させることができます。これは認証されたユーザーから内部ネットワークアクセスへの権限昇格です。
攻撃経路
認証されたユーザーがカスタムOpenAI互換APIエンドポイントbaseURLを内部ネットワークアドレス(例えば、http://169.254.169.254/または内部マイクロサービスURL)に設定します。LibreChat はSSFR保護なしでこのURLへのHTTPリクエストをサーバーサイドで構築します — プライベートIPチェックなし、スキーム制限なし、DNSピンニングなし — ユーザーが内部サービス、クラウドメタデータエンドポイント、および他のバックエンドインフラストラクチャを調査して相互作用することを許可しています。
影響を受けるシステム
LibreChat < 0.8.4-rc1
緩和策
LibreChat 0.8.4-rc1以降にアップグレードしてください。アドバイザリ:https://github.com/danny-avila/LibreChat/security/advisories/GHSA-gc9r-88c3-7qhq