脆弱性  ·  2026-10-05

SciPhi-AI R2RのRetrieval Completion APIのSSRFにより、OPENAI_API_KEYが攻撃者選択のエンドポイントに漏洩

脆弱性High 影響度GlobalCVE-2026-105148
NVDは2026-10-04に、SciPhi-AI R2R 3.6.6までのSSRF(CWE-918)についてCVE-2026-105148(7.3 v3.1、5.5 v4.0)を公開しました。Retrieval Completion APIは、モデルプレフィックスがLiteLLMプロバイダーを選択する場合、ユーザー制御のgeneration_config.api_baseをLiteLLMのacomplete()呼び出しに渡します。コンテナはその後、攻撃者URLに/v1/chat/completionsをPOSTし(User-Agent litellm/...)、OpenAI互換プレフィックスの場合はプロセスのOPENAI_API_KEYをBearerトークンとして追加します。公開gistは、実際のセットアップでの単純なSSRFとキー転送の両方を実証しています。
R2Rは、オペレーターのアップストリームLLMプロバイダーキーを保持するセルフホスト型の検索拡張GenAIミドルウェアです。この脆弱性により、認証されていない攻撃者がRAGサーバーを内部ネットワークやクラウドメタデータへのスキャニングプロキシに変え、ライブのOPENAI_API_KEYを外部に持ち出すことができます。これは、課金濫用、モデルアクセス、および潜在的なデータ漏洩のための王冠です。CVE-2026-105147(ハードコードされたシークレット)と組み合わせると、R2Rコントロールプレーンはデフォルトインストールで事実上オープンになります。
公開されているcompletion/agentエンドポイントは、クライアント制御のgeneration_config.api_base(およびモデルプレフィックス)を受け入れます。LiteLLMにルーティングされるモデル文字列(例: custom/、together_ai/、huggingface/プレフィックス)の場合、R2Rはそのapi_baseにHTTPリクエストを発行します。OpenAI互換プレフィックスの場合、Authorization: Bearer <OPENAI_API_KEY>ヘッダーが添付されます。認証されていない呼び出し元は、R2RコンテナのネットワークまたはクラウドメタデータへのSSRFと、LLMプロバイダーキーの収穫の両方が可能です。公開エクスプロイトgistが存在します。
SciPhi-AI R2R 3.6.6まで(py/shared/abstractions/llm.py; POST /v3/retrieval/completionおよび/v3/retrieval/agent)
ベンダーの応答またはパッチは確認されていません。APIを保護してください: 認証を有効にし(デフォルトのr2r.tomlではrequire_authentication=false)、受け入れ可能なapi_base値をホワイトリスト化し、retrieval completionエンドポイントを高信頼として扱ってください。開示gist: https://gist.github.com/DReazer/6c1fd0ef98900fbbfa383faa20f731f6
NVD CVE-2026-105148Disclosure gist (SSRF + key forward)
ライブフィードで見る AIセキュリティとガバナンスの関連情報をさらに見る — 毎朝更新。
フィードを開く →