Wyciek pamięci w Ollama zreprodukowany: CVE-2026-7482 o wysokim ryzyku

🚨 Luka wycieku pamięci w Ollama została zreprodukowana: CVE-2026-7482 o wysokim ryzyku
Badacze bezpieczeństwa zreprodukowali lukę wycieku pamięci w Ollama (CVE-2026-7482), czyli podatność typu heap out-of-bounds read:
- Dotknięte wersje: wszystkie wersje Ollama przed 0.17.1
- Typ luki: odczyt poza zakresem sterty (CWE-125)
- Ścieżka ataku: /api/create → ładowanie GGUF → kwantyzacja → wyciek pamięci → eksfiltracja przez /api/push
- Wyciekające dane: zmienne środowiskowe, klucze API, prompty systemowe, konwersacje użytkowników
- Brak uwierzytelniania: endpointy /api/create i /api/push nie wymagają uwierzytelniania
🎯 Istota luki
Luka w loaderze modeli GGUF
Luka znajduje się w loaderze modeli GGUF:
- /api/createendpoint przyjmuje pliki GGUF dostarczone przez atakującego
- tensor offset i sizeprzekraczają rzeczywistą długość pliku
- proces kwantyzacjiodczytuje dane spoza przydzielonego bufora sterty
- Lokalizacja: fs/ggml/gguf.go i server/quantization.go (WriteTo())
Zawartość wyciekającej pamięci
Wyciekająca zawartość pamięci może obejmować:
| Wyciekłe dane | Ryzyko |
|---|---|
| Zmienne środowiskowe | mogą zawierać wrażliwą konfigurację |
| API Keys | Wysokie: ujawnienie kluczy API |
| Prompty systemowe | ujawniają wewnętrzną konfigurację |
| Dane konwersacji równoległych użytkowników | Wysokie: naruszenie prywatności |
Drogi eksfiltracji danych
Wyciekająca zawartość pamięci może zostać ujawniona przez /api/push endpoint:
- Przesłanie modelu: przesłanie wynikowego artefaktu modelu
- Rejestr atakującego: przesłanie do rejestru kontrolowanego przez atakującego
- Brak uwierzytelniania: w oryginalnej dystrybucji endpointy nie wymagają uwierzytelniania
⚠️ Poziom ryzyka
Ocena CVSS 4.0
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:H/SC:N/SI:N/SA:N/AU:Y/R:A/V:D/RE:L/U:Red
| Wymiar | Ocena | Opis |
|---|---|---|
| Wektor ataku | Sieć (AV:N) | Atak możliwy przez sieć |
| Złożoność ataku | Niska (AC:L) | Atak jest prosty do przeprowadzenia |
| Wymagane uprawnienia | Brak (PR:N) | Nie wymaga uwierzytelniania |
| Interakcja użytkownika | Brak (UI:N) | Nie wymaga interakcji użytkownika |
| Wpływ na poufność | Wysoki (VC:H) | Wysoki wpływ na poufność |
| Wpływ na dostępność | Wysoki (VA:H) | Wysoki wpływ na dostępność |
📊 Dotknięte wdrożenia
Konfiguracja domyślna
Ollama domyślnie wiąże się z adresem 127.0.0.1, jednak konfiguracja OLLAMA_HOST=0.0.0.0 jest powszechnie stosowana:
- Domyślne wiązanie: 127.0.0.1 (lokalnie)
- Ekspozycja publiczna: OLLAMA_HOST=0.0.0.0 (powszechnie używane)
- Ekspozycja na dużą skalę: zaobserwowano wiele przypadków ekspozycji w sieci publicznej
Scenariusze wysokiego ryzyka
| Scenariusz | Ryzyko |
|---|---|
| Ollama wystawiona w sieci publicznej | Bardzo wysokie: możliwy bezpośredni atak |
| Współdzielona instancja Ollama dla wielu użytkowników | Wysokie: możliwy wyciek konwersacji innych użytkowników |
| Zawiera wrażliwe klucze API | Wysokie: wyciek kluczy API |
| Wdrożenie lokalne | Średnie: wymagany dostęp lokalny |
🔧 Środki zaradcze
Opcja 1: aktualizacja do 0.17.1+ (zalecane)
# 升级 Ollama # macOS brew upgrade ollama # Linux curl -fsSL https://ollama.com/install.sh | sh
Zawartość poprawki: łatka naprawia odczyt poza zakresem w loaderze GGUF.
Opcja 2: ograniczenie ekspozycji sieciowej
# 不要使用 0.0.0.0 绑定 # 保持默认 127.0.0.1 OLLAMA_HOST=127.0.0.1
Opcja 3: ograniczenie zaporą sieciową
# 限制 /api/create 和 /api/push 端点访问 # 只允许可信来源
Opcja 4: monitorowanie nietypowych plików GGUF
- Kontrola plików GGUF: sprawdzanie, czy tensor offset i size są prawidłowe
- Monitorowanie /api/create: rejestrowanie pochodzenia przesyłanych plików GGUF
- Monitorowanie /api/push: rejestrowanie docelowego rejestru
🚀 Status reprodukcji
Zreprodukowano: badaczom bezpieczeństwa udało się zreprodukować tę lukę:
- Warunki reprodukcji: Ollama < 0.17.1
- Ścieżka ataku: przesłanie złośliwego pliku GGUF → wywołanie kwantyzacji → wyciek pamięci
- Potwierdzenie wycieku: udany wyciek zmiennych środowiskowych i danych konwersacji
- Potwierdzenie eksfiltracji: udana eksfiltracja danych przez /api/push
📅 Informacje o łatce
| Informacja | Link |
|---|---|
| Wersja naprawcza | v0.17.1 |
| Commit z poprawką | 88d57d0483 |
| PR | #14406 |
📝 Podsumowanie
Luka wycieku pamięci Ollama CVE-2026-7482została zreprodukowana:
- dotyczy wszystkich wersji Ollama przed 0.17.1
- Odczyt poza zakresem sterty, CWE-125
- Wyciek: zmienne środowiskowe, klucze API, prompty systemowe, konwersacje użytkowników
- Droga eksfiltracji: /api/push do rejestru atakującego
- Endpointy bez uwierzytelniania: /api/create i /api/push
- Ryzyko ekspozycji publicznej: OLLAMA_HOST=0.0.0.0 powszechnie stosowane
- Zaradzenie: aktualizacja do 0.17.1+ lub ograniczenie ekspozycji sieciowej
Zreprodukowana luka o wysokim ryzyku — zaktualizuj lub ogranicz ekspozycję natychmiast.
NVD:https://nvd.nist.gov/vuln/detail/CVE-2026-7482
Wersja naprawcza:https://github.com/ollama/ollama/releases/tag/v0.17.1