Konferencja Mega Sekurak Hacking Party w Krakowie – 26-27 października!

Adminie… Czy znamy Twoje grzechy? ;-) Sprawdź!

Poważna podatność w platformie Ollama prowadzi do wycieku pamięci. A wszystko przez odpowiednio spreparowany plik GGUF (CVE-2026-5757)

05 maja 2026, 12:14 | W biegu | komentarze 2
Tagi: , , , ,

Badacz bezpieczeństwa Jeremy Brown, znany z odkrywania luk (memory corruption) w ogólnodostępnych narzędziach, po raz kolejny udowodnił, że innowacyjne metody oraz nieszablonowe działania pozwalają wychwycić błędy, które przez lata pozostawały niewidoczne. Korzystając ze wsparcia sztucznej inteligencji udało mu się wykryć poważną podatność w silniku Ollama, skutkującą możliwym wyciekiem danych z pamięci serwera.

TLDR:

  • Badacz Jeremy Brown korzystając ze wsparcia sztucznej inteligencji wykrył podatność w popularnym silniku Ollama.
  • Luka (CVE-2026-5757) umożliwia nieautoryzowany dostęp do pamięci serwera, co w konsekwencji prowadzi do wycieku danych.
  • Winnym całego zamieszania jest proces kwantyzacji oraz brak walidacji metadanych pliku modelu GGUF.
  • Na chwilę publikacji nie została wydana poprawka bezpieczeństwa.

Ollama jest popularną platformą open-source służącą do lokalnego uruchamiania dużych modeli językowych (Large Language Models – LLM). Narzędzie zdobyło popularność głównie dzięki prostocie obsługi oraz wsparciu dla kwantyzacji. 

Kwantyzacja to technika optymalizacji modelu, polegająca na zmniejszeniu precyzji zapisu jego wag liczbowych (np. z formatu 16-bitowego na format 4-bitowy). Taka modyfikacja pozwala znacząco zredukować zapotrzebowania na pamieć RAM oraz przyspieszyć działanie modelu. Dzięki czemu można uruchomić go lokalnie, nawet na domowym sprzęcie, przy niewielkim spadku jakości odpowiedzi. 

To właśnie mechanizm optymalizacji, a konkretnie sposób przetwarzania plików w formacie GGUF (GPT-Generated Unified Format) stał się celem ataku. Podatność typu OOB (out-of-bounds) heap write/read (CVE-2026-5757) pozwala na odczyt danych wykraczających poza zakres zaalokowanego bufora pamięci.

Mówiąc w skrócie: atakujący może zmodyfikować plik GGUF w taki sposób, aby silnik Ollama podczas procesu kwantyzacji odwołał się do danych znajdujących się w stercie aplikacji (wykraczając poza obszar pamięci przypisany do modelu). Odczytane w ten sposób informacje zostają zapisane jako nowa warstwa modelu. Dalszy proces eksfiltracji polega na przesłaniu wykradzionych danych, a dokładniej mówiąc nowo utworzonego modelu bezpośrednio na serwer kontrolowany przez atakującego. 

Dalszy proces eksfiltracji polega na przesłaniu na serwer atakującego nowo utworzonego modelu, w którym przejęte informacje zostały zapisane jako jedna z jego warstw 

Podatność jest możliwa do wykorzystania na skutek nałożenia się na siebie trzech czynników:

  • brak weryfikacji rozmiaru danych – silnik kwantyzacji ufa metadanym zawartym w nagłówku pliku GGUF dostarczonego przez użytkownika, nie weryfikując ich pod kątem faktycznego rozmiaru;
  • niebezpieczne operacje na pamięci – oprogramowanie stosuje funkcje unsafe.Slice (język Go) do utworzenia wycinka pamięci w oparciu o kontrolowaną przez atakującego liczbę elementów. Z racji tego, że parametr ten jest w pełni zależny od cyberprzestępcy, może on zdefiniować wartość wykraczającą poza legalny bufor danych, sięgając do obszaru sterty (heap) przechowującego wrażliwe informacje;
  • mechanizm eksfiltracji danych – odczytane dane są przetwarzane i zapisywane jako nowa warstwa modelu. Atakujący, korzystając z API rejestru Ollama może przesłać (push) nowo utworzony model na kontrolowany przez siebie serwer.

Nieautoryzowany dostęp do pamięci operacyjnej serwera umożliwia eksfiltrację wrażliwych informacji użytkownika, takich jak klucze API czy też dane uwierzytelniające. Co więcej, wykorzystanie podatności może prowadzić do przejęcia kontroli nad serwerem, czy też zapewnienia trwałej obecności w infrastrukturze bez podnoszenia alertów bezpieczeństwa.

Na chwilę obecną oficjalna poprawka bezpieczeństwa nie została wydana. Do momentu pojawienia się aktualizacji zaleca się wyłączenie lub ograniczenie funkcji przesyłania modeli na wystawionych publicznie serwerach.

Jeżeli jednak z przyczyn operacyjnych przesyłanie modeli jest wymagane, należy akceptować dane pochodzące wyłącznie ze sprawdzonych i zaufanych źródeł. Ponadto, każdorazowo należy stosować kontrole walidacyjne oraz monitorować ruch sieciowy pod kątem wkrycia anomalii skutkującej eksfiltracją danych.

Aby atak miał szansę powodzenia, należy posiadać uprawnienia umożliwiające interakcję z API Ollamy w zakresie tworzenia lub przesyłania modeli. Warto zauważyć, że Ollama nie posiada domyślnie mechanizmów uwierzytelnienia i autoryzacji. Oznacza to, że każdy kto ma dostęp do usługi, może być potencjalnym atakującym. 

Źródło: kb.cert.org 

~_secmike

Spodobał Ci się wpis? Podziel się nim ze znajomymi:



Komentarze

  1. rrrrrrr

    1. gguf to format używany w ggml/llama.cpp
    2. ollama to wrapper na llama.cpp (przynajmniej kiedyś był)

    Więc, albo ollama sobie wyvibecodowała sama jakieś zmiany w obsłudze gguf, albo błąd jest w llama.cpp, a nie ollama.

    Odpowiedz
  2. SeeM

    Może ktoś się orientuje. Czy modele zaciągane przez mechanizm “pull” są w jakiś sposób weryfikowane? Czy problem dotyczy tylko modeli z losowych stron www oraz Hugging Face?

    Odpowiedz

Odpowiedz na rrrrrrr