Apa yang terjadi
Endpoint set_api_key RAGFlow menerima nilai base_url yang disediakan penyerang tanpa validasi dan mengirimkan permintaan sisi server ke sana. Ini memungkinkan SSRF terautentikasi ke backend jaringan bersama dan layanan metadata cloud, dengan teks pengecualian upstream yang verbose dikembalikan dalam respons membocorkan sidik jari layanan internal.
Mengapa penting
Platform RAG sering di-deploy di dalam VPC bersama database vektor, penyimpanan objek, dan endpoint model yang mereka indeks. SSRF ini memberikan pengguna terautentikasi (seringkali berhak rendah) pivot ke jaringan internal tersebut dan jalur ke kredensial cloud melalui metadata.
Vektor serangan
POST /v1/llm/set_api_key dengan base_url yang tidak divalidasi (ditangani oleh set_api_key() di api/apps/llm_app.py) menyebabkan server membuat permintaan ke host yang dipilih penyerang (CWE-918 SSRF); teks kesalahan yang dikembalikan ke klien mengungkap tata letak layanan internal.
Sistem yang terdampak
RAGFlow sebelum 0.27.0
Mitigasi
Tingkatkan ke RAGFlow 0.27.0.