Penjelasan teknis
vLLM versi 0.8.0 dan yang lebih baru rentan terhadap serangan Out-of-Memory Denial of Service dalam metode VideoMediaIO.load_base64(). Saat memproses URL data video/jpeg, metode ini membagi string data base64 pada koma untuk mengekstrak frame JPEG tanpa memberlakukan batasan jumlah frame. Penyerang dapat membuat permintaan API tunggal yang berisi ribuan frame JPEG base64 yang dipisahkan koma, menyebabkan server untuk mendekode semua frame ke dalam memori hingga terjadi kerusakan. Kerentanan ini dapat diakses melalui titik akhir API chat completions yang kompatibel dengan OpenAI tanpa autentikasi.
Vektor serangan
Permintaan HTTP tanpa autentikasi tunggal ke titik akhir vLLM /v1/chat/completions dengan URL data video/jpeg yang dirancang khusus berisi ribuan frame JPEG base64 yang dipisahkan koma. Tidak ada autentikasi yang diperlukan jika API diekspos tanpa lapisan auth (umum dalam penerapan yang di-host sendiri).
Sistem yang terdampak
vLLM 0.8.0 dan semua versi yang lebih baru hingga setidaknya tanggal pengungkapan. vLLM adalah salah satu server inferensi LLM open-source yang paling banyak digunakan, digunakan untuk hosting model termasuk Llama, Mistral, Qwen, dan lainnya di lingkungan perusahaan dan cloud.
Mitigasi
Terapkan patch dari commit 58ee614 di repositori vLLM. Jika patching segera tidak memungkinkan: letakkan titik akhir inferensi vLLM di belakang gateway API yang terauthentikasi, terapkan batasan ukuran permintaan dan validasi input sebelum URL data video mencapai proses vLLM, dan aktifkan pemantauan OOM untuk mendeteksi upaya serangan.