Penjelasan teknis
Kerentanan heap out-of-bounds read di GGUF model loader Ollama memungkinkan penyerang untuk memicu memory corruption selama kuantisasi model. Endpoint /api/create menerima file GGUF yang disuplai penyerang di mana offset tensor yang dideklarasikan dan ukuran melebihi panjang file yang sebenarnya. Ketika Ollama memproses file tersebut selama kuantisasi di fs/ggml/gguf.go dan server/quantization, ia membaca melampaui batas memori yang dialokasikan, memungkinkan eksekusi kode arbitrer dalam konteks proses server Ollama.
Vektor serangan
Seorang penyerang dapat membuat file model GGUF berbahaya dan mengirimkannya ke endpoint /api/create. Jika instans Ollama organisasi terekspos atau jika penyerang memiliki akses jaringan internal, mereka dapat mengunggah file model yang sudah dipersiapkan. Setelah diproses, out-of-bounds read terpicu, memungkinkan penyerang untuk mengeksekusi kode arbitrer pada server yang menghosting Ollama, berpotensi mendapatkan kontrol penuh atas sistem dan akses ke semua model dan data yang dikelola oleh instans tersebut.
Sistem yang terdampak
Versi Ollama sebelum 0.17.1. Ollama banyak diterapkan untuk inferensi LLM lokal dan manajemen model di lingkungan enterprise, workstation pengembang, dan lab penelitian.
Mitigasi
Tingkatkan ke versi Ollama 0.17.1 atau lebih baru segera. Organisasi harus mengaudit semua instans Ollama (termasuk laptop pengembang dan penerapan edge) untuk memastikan bahwa mereka telah diperbaiki. Jika patching segera tidak dapat dilakukan, batasi akses ke endpoint /api/create melalui segmentasi jaringan atau kontrol autentikasi, dan pantau aktivitas pengunggahan model yang mencurigakan.