Apa yang terjadi
NVD menerbitkan CVE-2026-105148 (7.3 v3.1, 5.5 v4.0) pada 2026-10-04 untuk SSRF (CWE-918) di SciPhi-AI R2R hingga 3.6.6. Retrieval Completion API meneruskan generation_config.api_base yang dikontrol pengguna ke dalam panggilan acomplete() LiteLLM setiap kali prefiks model memilih provider LiteLLM; kontainer kemudian mengirim POST /v1/chat/completions ke URL penyerang (User-Agent litellm/...), dan untuk prefiks kompatibel-OpenAI menambahkan OPENAI_API_KEY proses sebagai token Bearer. Gist publik mendemonstrasikan SSRF biasa dan penerusan kunci pada setup nyata.
Mengapa penting
R2R adalah middleware GenAI retrieval-augmented yang dihosting sendiri yang menyimpan kunci provider LLM upstream operator. Cacat ini memungkinkan penyerang tanpa autentikasi mengubah server RAG menjadi proxy pemindaian ke jaringan internal dan metadata cloud, serta mengeksfiltrasi OPENAI_API_KEY yang aktif - aset paling berharga untuk penyalahgunaan penagihan, akses model, dan potensi paparan data. Bersama dengan CVE-2026-105147 (rahasia hard-coded), control plane R2R secara efektif terbuka pada instalasi default.
Vektor serangan
Endpoint completion/agent publik menerima generation_config.api_base (dan prefiks model) yang dikontrol klien. Untuk string model apa pun yang dirutekan ke LiteLLM (misalnya prefiks custom/, together_ai/, huggingface/), R2R mengeluarkan permintaan HTTP ke api_base tersebut; untuk prefiks kompatibel-OpenAI, header Authorization: Bearer <OPENAI_API_KEY> dilampirkan. Pemanggil tanpa autentikasi dapat melakukan SSRF ke jaringan kontainer R2R atau metadata cloud dan memanen kunci provider LLM. Gist exploit publik ada.
Sistem yang terdampak
SciPhi-AI R2R hingga 3.6.6 (py/shared/abstractions/llm.py; POST /v3/retrieval/completion dan /v3/retrieval/agent)
Mitigasi
Tidak ada respons vendor atau patch yang terlihat. Amankan API: aktifkan autentikasi (r2r.toml default memiliki require_authentication=false), masukkan nilai api_base yang diterima ke daftar putih, perlakukan endpoint retrieval completion sebagai kepercayaan tinggi. Gist pengungkapan: https://gist.github.com/DReazer/6c1fd0ef98900fbbfa383faa20f731f6