Apa yang terjadi
Endpoint chat-completions agen yang kompatibel dengan OpenAI memulai eksekusi agen dan mengembalikan hasil sebelum pemeriksaan otorisasi yang memastikan pemanggil diizinkan mengakses kanvas agen tertentu tersebut dijalankan. Pemeriksaan dilakukan terlambat, sehingga keputusan otorisasi secara efektif dilewati.
Mengapa penting
Dalam deployment RAGFlow bersama, ini memungkinkan satu prinsipal menggunakan agen prinsipal lain (riwayat chat, alat, dan panggilan apa pun yang dilakukan agen) meskipun ada lapisan kontrol akses, memungkinkan pengungkapan informasi lintas-tenant dan penggunaan agen tanpa izin.
Vektor serangan
POST /api/v1/agents/chat/completions menjalankan penyelesaian agen dan mengembalikan melalui cabang yang kompatibel dengan openai sebelum UserCanvasService.accessible() memverifikasi bahwa pemanggil dapat mengakses agen yang diminta.
Sistem yang terdampak
RAGFlow 0.25.2 hingga 0.27.3
Mitigasi
Tingkatkan ke RAGFlow 0.27.3+. Commit perbaikan: https://github.com/infiniflow/ragflow/commit/20180790e1a8c55553a2f3e75718f3d65178ae6d