
Co znajdziesz w tym artykule?
- 1 Wprowadzenie do problemu / definicja luki
- 2 W skrócie
- 3 Kontekst / historia / powiązania
- 4 Analiza techniczna / szczegóły luki
- 5 Praktyczne konsekwencje / ryzyko
- 6 Rekomendacje operacyjne / co zrobić teraz
- 7 Różnice / porównania z innymi przypadkami
- 8 Podsumowanie / kluczowe wnioski
- 9 Źródła / bibliografia
Wprowadzenie do problemu / definicja luki
Badacze ujawnili świeży zestaw podatności w popularnych elementach infrastruktury AI: w silniku modeli Ollama oraz w stosie NVIDIA (Triton Inference Server i Container Toolkit/GPU Operator). Część błędów umożliwia zdalne wykonanie kodu (RCE) bez uwierzytelnienia lub ucieczkę z kontenera do hosta, co wprost zagraża klastrom Kubernetes i serwerom GPU. Informacje o nowych lukach i ich naprawach potwierdza m.in. serwis Dark Reading oraz biuletyny producentów.
W skrócie
- Produkty narażone (przykłady):
- Ollama – m.in. nowsze zgłoszenia: CVE-2025-51471 (token-steal/bypass auth), wcześniejsze: CVE-2024-37032 (RCE „Probllama”), CVE-2024-28224 (DNS rebinding), plus błędy DoS/overflow.
- NVIDIA – Container Toolkit/GPU Operator: CVE-2025-23266 (krytyczny container escape, CVSS 9.0) i CVE-2025-23267 (link-following/DoS).
- Wpływ: przejęcie serwera inferencji, kradzież modeli i danych, eskalacja uprawnień z kontenera do hosta, dostęp do innych workloadów na tym samym węźle GPU.
- Naprawy:
- NVIDIA Container Toolkit ≥ 1.17.8 (oraz odpowiednie wersje GPU Operator/Device Plugin/MIG Manager).
- Ollama – aktualizacja do wydań z łatami (m.in. po CVE-2024-37032 oraz po CVE-2025-51471).
Kontekst / historia / powiązania
Od 2024 r. infrastruktura AI trafia coraz częściej na celownik: Wiz Research opisał RCE w Ollama (CVE-2024-37032, „Probllama”) – łatwe do sprowokowania przez błędy walidacji i brak natywnego uwierzytelniania, zwłaszcza w domyślnie publicznych wdrożeniach Docker. NCC Group wcześniej udowodniło, że DNS rebinding pozwala atakować lokalne instancje Ollama przez przeglądarkę ofiary. Równolegle 2025 przyniósł NVIDIAScape – krytyczny escape w Container Toolkit. Trend potwierdzają media branżowe: środek ciężkości badań przesuwa się z prompt-injection do warstwy infrastruktury (serwery inferencji, rejestry modeli, kontenery GPU).
Analiza techniczna / szczegóły luki
Ollama
- CVE-2024-37032 („Probllama”) – RCE
- Wada w obsłudze manifestów przy /api/pull pozwalała na path traversal i arbitrary file write/read, co w deploymentach Docker (root, 0.0.0.0) dawało prostą ścieżkę do RCE (np. przez manipulację
ld.so.preload). Zalecana aktualizacja do wersji z 08.05.2024+.
- Wada w obsłudze manifestów przy /api/pull pozwalała na path traversal i arbitrary file write/read, co w deploymentach Docker (root, 0.0.0.0) dawało prostą ścieżkę do RCE (np. przez manipulację
- CVE-2024-28224 – DNS rebinding
- Atak z poziomu przeglądarki ofiary omijał Same-Origin Policy, umożliwiając zdalny dostęp do API Ollama na
localhost, eksfiltrację plików oraz operacje na modelach. Naprawione w v0.1.29; rekomendowane m.in. sprawdzanie nagłówkaHosti TLS, także dla loopback.
- Atak z poziomu przeglądarki ofiary omijał Same-Origin Policy, umożliwiając zdalny dostęp do API Ollama na
- CVE-2025-51471 – kradzież tokenów / obejście auth
- Cross-Domain Token Exposure: złośliwy
WWW-Authenticate realmz/api/pullmógł wykradać tokeny i obchodzić kontrolę dostępu. Dotyczyło Ollama 0.6.7; patrz NVD/GitHub Advisory i poprawki projektu.
- Cross-Domain Token Exposure: złośliwy
Wniosek: w praktyce te trzy klasy błędów łączą się w łańcuch ataku: rebinding ⇒ token-steal ⇒ pull/push z prywatnego rejestru ⇒ RCE/eksfiltracja.
NVIDIA Container Toolkit / GPU Operator
- CVE-2025-23266 (CVSS 9.0) – błąd w hookach inicjalizacji kontenera; w pewnych konfiguracjach umożliwiał ucieczkę z kontenera i wykonanie kodu z podwyższonymi uprawnieniami na hoście.
- CVE-2025-23267 (CVSS 8.5) – podatność w hooku update-ldcache; specjalnie spreparowany obraz mógł prowadzić do link following, skutkując manipulacją danymi/DoS.
- Wersje naprawcze: Toolkit 1.17.8, GPU Operator 25.3.2, Device Plugin 0.17.3, MIG Manager 0.12.2; dodatkowe uwagi dla RHEL/OpenShift i notatka, że konfiguracje z crun nie są dotknięte 23266.
Praktyczne konsekwencje / ryzyko
- Kradzież modeli i promptów, modyfikacja wag i artefaktów (supply-chain modeli), sabotaż inferencji.
- Pivot z kontenera do hosta GPU (23266) ⇒ dostęp do innych namespace’ów/kontenerów na węźle, wyciek danych klientów i eskalacja w klastrze.
- Ataki z przeglądarki na lokalne dev-maszyny (DNS rebinding) ⇒ eksfiltracja dokumentów/projektów R&D.
- Ryzyko compliance: naruszenia izolacji danych, IP leakage, utrata integralności modeli.
Rekomendacje operacyjne / co zrobić teraz
1) Patch & wersje
- NVIDIA: zaktualizuj Container Toolkit → 1.17.8, GPU Operator → 25.3.2, Device Plugin → 0.17.3, MIG Manager → 0.12.2. Dla OpenShift – użyj tagów
v1.17.8-ubi8/v0.12.2-ubi9. Jeśli używasz crun – 23266 nie dotyczy, ale 1.17.7 nadal wymaga łat na 23267. - Ollama: zaktualizuj do wersji usuwających CVE-2024-37032 i CVE-2025-51471 (sprawdź release notes projektu). Minimalnie ≥ v0.1.34 dla „Probllama”, naprawa 0.6.7-related dla token-steal.
2) Minimalizacja ekspozycji
- Nie wystawiaj API Ollama publicznie. Jeśli musisz – wymuś reverse proxy z auth (OIDC/Basic) i TLS:
# Nginx (skrót)
server {
listen 443 ssl http2;
server_name ollama.example.com;
ssl_certificate ...; ssl_certificate_key ...;
auth_basic "Restricted"; # tymczasowo
auth_basic_user_file /etc/nginx/.htpasswd;
location / {
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:11434;
}
}
(Wiz podkreśla brak natywnego auth w wielu wdrożeniach; reverse proxy to „must”.)
- W instancjach lokalnych wymuś bind tylko do loopback:
# Linux (systemd override)
sudo systemctl edit ollama
# [Service]
# Environment="OLLAMA_HOST=127.0.0.1"
3) Twardnienie kontenerów i K8s
- Zabroń
--privilegedi host-mountów; używaj rootless (jeśli możliwe), seccomp/apparmor i redukcji capabilities:
# PodSecurityContext (skrócone)
securityContext:
runAsNonRoot: true
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
seccompProfile: { type: RuntimeDefault }
capabilities: { drop: ["ALL"] }
- Segmentuj sieć przy pomocy NetworkPolicy – oddziel inference od reszty:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata: { name: allow-only-proxy, namespace: ai }
spec:
podSelector: { matchLabels: { app: ollama } }
policyTypes: ["Ingress"]
ingress:
- from:
- namespaceSelector: { matchLabels: { name: ingress } }
ports: [{ protocol: TCP, port: 11434 }]
4) Rejestry modeli i „model supply chain”
- Pin’uj hashy warstw, weryfikuj źródła (allow-list domen/rejestrów), skanuj artefakty przed „pull”. (W RCE „Probllama” wektor przechodził przez /api/pull z prywatnego rejestru.)
5) Detekcja i IR
- Wskaźniki podejrzanej aktywności (przykłady):
- Nietypowe żądania /api/pull z zewnętrznych adresów, 4xx/5xx na /api/push, powtarzające się tworzenie modelu z niestandardowymi
FROM. - W nodach GPU: logi runtime wskazujące na modyfikacje
ld.so.preload, anomalie w hookach OCI, nieautoryzowane biblioteki preload (23266/23267).
- Nietypowe żądania /api/pull z zewnętrznych adresów, 4xx/5xx na /api/push, powtarzające się tworzenie modelu z niestandardowymi
- Reguły (przykład Falco):
- rule: Write to ld.so.preload
desc: Potential container escape via ld.so.preload manipulation
condition: >
evt.type in (open, openat) and fd.name = "/etc/ld.so.preload" and
proc.name not in (ldconfig)
output: "Process %proc.name wrote to ld.so.preload (user=%user.name container=%container.id)"
priority: CRITICAL
Różnice / porównania z innymi przypadkami
- Ollama – błędy głównie na styku API i walidacji danych (path traversal, token-steal, DNS rebinding), a więc ataki zdalne poprzez HTTP i łańcuchy z udziałem przeglądarek/serwerów proxy.
- NVIDIA Container Toolkit/GPU Operator – błędy w hookach OCI i przepływie inicjalizacji, skutkujące eskalacją z kontenera do hosta (breakout), co zagraża całemu węzłowi i sąsiadującym workloadom.
Podsumowanie / kluczowe wnioski
- Zaktualizuj wszystko, co dotyczy stosu AI – najpierw Toolkit 1.17.8 / GPU Operator 25.3.2, potem Ollama do wersji z łatami na RCE, rebinding i token-exposure.
- Nie wystawiaj surowych endpointów inferencji do Internetu; dodaj auth i TLS na brzegu.
- Odchudź uprawnienia kontenerów, stosuj Pod Security i NetworkPolicy, monitoruj anomalia w hookach OCI i modyfikacje
ld.so.preload. - Traktuj modele jak łańcuch dostaw – weryfikuj źródła i hashe, skanuj pliki GGUF/manifesty przed użyciem.
Źródła / bibliografia
- Dark Reading — przegląd nowych luk w Ollama i NVIDIA Triton/Toolkit (7 listopada 2025). (Dark Reading)
- NVIDIA Security Bulletin: Container Toolkit (CVE-2025-23266, CVE-2025-23267) oraz wersje naprawcze. (NVIDIA Support)
- Wiz Research: „Probllama” — CVE-2024-37032 (RCE w Ollama), wektory i mitigacje. (wiz.io)
- NCC Group: CVE-2024-28224 (DNS rebinding w Ollama), szczegóły ataku i zalecenia. (NCC Group)
- NVD: CVE-2025-51471 (Cross-Domain Token Exposure w Ollama 0.6.7), status i referencje. (NVD)