GitHub’un 155.000’den fazla yıldıza sahip en popüler açık kaynak projelerinden biri olan Ollama’da keşfedilen kritik güvenlik açıkları, saldırganların savunmasız sistemlerde rastgele kod çalıştırmasına olanak tanıyabilir.
Kusurlar Ollama’nın 0.7.0’dan önceki sürümlerini etkiliyor ve platformu büyük dil modellerini yerel olarak çalıştırmak için kullanan sayısız yapay zeka meraklısını ve geliştiriciyi riske atıyor.
Güvenlik Açığı Anlamak
Güvenlik araştırmacıları, Ollama’da kötü amaçlı model dosyalarını ayrıştırırken ortaya çıkan kritik bir Sınır Dışı Yazma güvenlik açığını ortaya çıkardı.
Güvenlik açığı, model meta verilerini ve ağırlıklarını depolamak için kullanılan ikili bir format olan GGUF dosyalarını işleyen kodda bulunmaktadır.
Ollama’nın API’sine erişimi olan saldırganlar, özel hazırlanmış model dosyalarını yükleyerek bu durumdan yararlanabilir ve uzaktan kod yürütülmesine yol açabilir.
Güvenlik açığının, Konumdan Bağımsız Yürütülebilir yapılandırması olmayan yapılarda kullanılabilir olduğu doğrulandı.
Ancak araştırmacılar, resmi sürümler de dahil olmak üzere PIE özellikli yapılarda da bu özelliğin kullanılabileceğini düşünüyor. Kullanıcılardan derhal güncelleme yapmaları önemle rica olunur.
Ollama’nın mimarisi Go, C ve C++ ile C/C++ kodu tarafından gerçekleştirilen çıkarım gibi yoğun bilgi işlem görevlerini birleştirir.
Platform, sunucunun model çıkarımını gerçekleştirmek için çalıştırıcı işlemlerini ürettiği bir istemci-sunucu modelini uygular.
Bu işlem sırasında Ollama’nın modelleri ayrıştırıp diskten yüklemesi gerekir, bu da saldırganların kötü amaçlı kod yerleştirmesine fırsat yaratır.
Spesifik güvenlik açığı, Llama ailesinin çok modlu bir versiyonu olan MLLAMA modellerinin ayrıştırılması sırasında model meta verilerinin güvenli olmayan şekilde işlenmesini içermektedir.
Kod, dizi sınırlarını doğru şekilde doğrulamadan model dosyalarından meta verileri okur ve Sınır Dışı Yazma koşulu oluşturur.
Saldırganlar model dosyalarını kontrol edebildiğinden bu meta verilere güvenilmeyen veriler olarak davranılmalıdır, ancak Ollama yeterli doğrulamayı uygulayamadı.
Sömürü ve Etki
Araştırmacılar, saldırganların özel olarak tasarlanmış meta veriler içeren kötü amaçlı model dosyalarını nasıl oluşturabileceğini gösteren bir kavram kanıtı geliştirdi.

Bu dosyalar, rastgele bellek bitlerini çevirerek, potansiyel olarak işlev işaretçilerinin üzerine yazarak ve kod yürütmeyi yeniden yönlendirerek güvenlik açığından yararlanır.
Saldırı, özellikle bellek yapılarındaki NULL işlev işaretçilerini hedef aldığında tehlikeli hale gelir ve saldırganların rastgele adresleri çağırmasına olanak tanır.
Saldırganlar, karmaşık Geri Dönüş Odaklı Programlama teknikleri aracılığıyla sistem işlevlerini tehlikeli operasyonlara yönlendirerek rastgele komutların yürütülmesini sağlayabilir.
Bir saldırgan, yalnızca kötü amaçlı bir model dosyası yükleyerek sistemin tüm kontrolünü ele geçirebilir.
Ollama’nın bakımcıları, dikkat çekici bir olayla, araştırmacıların bildirmesinden iki gün önce yanlışlıkla güvenlik açığını düzeltti.
Ekip, güvenlik açığı bulunan mllama modeli işleme kodunu C++’tan Go’ya yeniden yazarak tehlikeli kod yolunu ortadan kaldırdı. Bu, bellek açısından güvenli programlama dillerinin güvenlik avantajlarını vurgular.
Kullanıcıların bu güvenlik açığından korunmak için Ollama’yı derhal 0.7.0 veya sonraki bir sürüme güncellemesi gerekiyor.
Ollama’yı kullanan kuruluşlar, yalnızca güvenilir kullanıcıların modelleri yükleyebildiğinden emin olmak için API erişim kontrollerini gözden geçirerek bir güvenlik katmanı eklemelidir.
Anında Güncellemeler Almak ve GBH’yi Google’da Tercih Edilen Kaynak olarak ayarlamak için bizi Google Haberler, LinkedIn ve X’te takip edin.