Ollama i NVIDIA: nowe luki uderzają w infrastrukturę AI. Co musi zrobić dział SecOps? - Security Bez Tabu

Ollama i NVIDIA: nowe luki uderzają w infrastrukturę AI. Co musi zrobić dział SecOps?

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.
    • NVIDIAContainer 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

  1. 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+.
  2. 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łówka Host i TLS, także dla loopback.
  3. CVE-2025-51471 – kradzież tokenów / obejście auth
    • Cross-Domain Token Exposure: złośliwy WWW-Authenticate realm z /api/pull mógł wykradać tokeny i obchodzić kontrolę dostępu. Dotyczyło Ollama 0.6.7; patrz NVD/GitHub Advisory i poprawki projektu.

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ń --privileged i 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).
  • 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 Operatorbłę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

  1. 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.
  2. Nie wystawiaj surowych endpointów inferencji do Internetu; dodaj auth i TLS na brzegu.
  3. Odchudź uprawnienia kontenerów, stosuj Pod Security i NetworkPolicy, monitoruj anomalia w hookach OCI i modyfikacje ld.so.preload.
  4. 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)