En bref

  • CVE-2026-7482 «Bleeding Llama» (CVSS 9.3 Critique) — lecture hors-limites de tas dans Ollama, versions antérieures à 0.17.1, permettant l'exfiltration silencieuse de la mémoire du processus.
  • Systèmes affectés : tout serveur Ollama accessible en réseau (Linux, macOS, Windows) ; environ 300 000 instances directement exposées sur Internet sans authentification.
  • Action urgente : mettre à jour vers Ollama 0.17.1+, restreindre l'écoute à 127.0.0.1 et déployer un reverse proxy authentifié.

Les faits

Baptisée «Bleeding Llama» par les chercheurs de Cyera Research, CVE-2026-7482 est une vulnérabilité de type heap out-of-bounds read (lecture hors-limites de tas) dans Ollama, le framework open-source dominant pour l'exécution locale de grands modèles de langage (LLMs). La faille affecte toutes les versions antérieures à 0.17.1 et présente un score CVSS v3.1 de 9.1 à 9.3 selon les organisations d'évaluation. Le vecteur d'attaque est entièrement réseau, sans authentification requise, sans interaction utilisateur, à faible complexité. La vulnérabilité a été publiée sur NVD/NIST le 1er mai 2026 sous l'identifiant CVE-2026-7482, assignée par Echo CNA le 28 avril 2026.

La cause racine réside dans la fonction ConvertToF32() du moteur de traitement de quantification d'Ollama. Le format GGUF (GPT-Generated Unified Format), standard binaire des LLM quantifiés, contient dans son en-tête des métadonnées de tenseurs déclarant notamment le tensor_element_count — le nombre d'éléments que contient chaque tenseur. La fonction ConvertToF32() utilise ce compteur déclaré pour déterminer combien d'éléments lire depuis la section de données du fichier GGUF, sans vérifier si ce compteur correspond au nombre réel d'octets disponibles dans le fichier. Un attaquant peut donc forger un fichier GGUF où l'en-tête déclare plusieurs millions d'éléments tandis que le buffer de données réel ne fait que quelques kilo-octets, déclenchant une lecture hors-limites dans la mémoire adjacente du tas du processus Ollama.

La dangerosité particulière de cette fuite mémoire tient au choix du chemin de conversion exploité. L'exploit cible spécifiquement la conversion F16 vers F32 (demi-précision vers simple précision). Cette transformation est mathématiquement sans perte — chaque séquence de bits est préservée exactement. Les octets de mémoire de tas lus hors-limites sont encodés comme valeurs F16 puis convertis en F32 sans altération, puis écrits dans le fichier modèle de sortie. Le fichier résultant contient donc les données mémoire exfiltrées sous forme lisible, d'après le rapport technique de Cyera Research (blog.cyera.com).

La chaîne d'exploitation complète s'effectue en trois étapes non authentifiées. Étape 1 — upload de l'arme : l'attaquant envoie le fichier GGUF malveillant via POST /api/blobs/sha256:<hash>. Étape 2 — déclenchement de la lecture hors-limites : une requête POST /api/create référençant le fichier uploadé déclenche la quantification ; ConvertToF32() lit au-delà du buffer légitime et écrit les données mémoire arbitraires dans le fichier modèle résultant, stocké localement dans Ollama. Étape 3 — exfiltration silencieuse : l'endpoint POST /api/push, conçu pour pousser des modèles vers des registres distants, accepte un nom de modèle contenant une URI HTTP/HTTPS — un bypass de validation permettant de diriger le push vers le serveur de l'attaquant. Aucune erreur n'est générée, aucun log d'alerte n'est produit pendant toute l'opération.

Le contenu de la mémoire du tas Ollama est particulièrement sensible : historique complet des conversations en cours et récentes, system prompts propriétaires de tous les modèles chargés, variables d'environnement du processus (incluant AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, OPENAI_API_KEY, ANTHROPIC_API_KEY, GITHUB_TOKEN, chaînes de connexion base de données), tokens d'authentification des services intégrés (LangChain, LlamaIndex, orchestrateurs IA), et dans les environnements healthcare, juridique ou financier, des données personnelles ou protégées soumises à des obligations réglementaires de notification de violation.

Le délai d'attribution CVE illustre un problème systémique critique. La vulnérabilité a été reportée le 2 février 2026 par Dor Attias (Cyera Research) à l'équipe sécurité d'Ollama. Un correctif a été commité et publié dans la version 0.17.1 le 25 février 2026, soit 23 jours plus tard seulement. Cependant, les notes de release ne mentionnaient pas de correctif de sécurité. La requête CVE soumise à MITRE est restée sans réponse. Echo CNA a finalement assigné CVE-2026-7482 le 28 avril 2026 — 62 jours après la publication du patch. Durant ces deux mois, les scanners de vulnérabilités basés sur les CVE étaient totalement aveugles à ce risque, même pour les organisations analysant régulièrement leurs environnements.

La surface d'attaque est massive : selon les données de Cyera Research et Shodan, environ 300 000 serveurs Ollama sont directement accessibles sur Internet sans aucune couche d'authentification. Par défaut, Ollama écoute sur toutes les interfaces réseau (0.0.0.0:11434) sans mécanisme d'authentification dans la distribution officielle. Cyera a signalé une activité de scanning limitée dès le 10 mai 2026 et anticipait une exploitation massive dans les 7 à 14 jours suivants. Les frameworks d'orchestration IA (LangChain, LlamaIndex) intégrant Ollama représentent une surface d'attaque supplémentaire : leurs tokens d'accès, clés API et données de traitement sont tous exposés en mémoire.

Il est à noter qu'Ollama présente historiquement une surface d'attaque problématique : CVE-2024-39720 (lecture arbitraire de fichiers), CVE-2024-39721 (épuisement des descripteurs de fichiers), CVE-2024-39722 (divulgation d'arborescence de répertoires) et CVE-2024-37032 (path traversal) avaient déjà été identifiées en 2024. CVE-2026-7482 s'inscrit dans ce pattern d'insuffisance de validation d'entrée sur les endpoints API non authentifiés d'Ollama.

Impact et exposition

L'absence totale d'authentification par défaut dans Ollama signifie que toute instance accessible en réseau peut être ciblée sans prérequis. Les entreprises utilisant Ollama pour le traitement de données confidentielles — dossiers clients, données médicales, informations financières — sont exposées à une exfiltration complète de ces données via les conversations en mémoire. Les équipes de développement utilisant Ollama en local dans des environnements connectés peuvent voir leurs clés API et credentials exfiltrés et réutilisés pour des compromissions cloud en cascade.

Les environnements cloud hébergeant Ollama dans des conteneurs sont particulièrement concernés : les variables d'environnement injectées via Kubernetes Secrets ou AWS Parameter Store sont présentes dans la mémoire du processus et donc exfiltrables. Une seule instance compromise peut compromettre l'ensemble d'un compte cloud AWS ou GCP si les access keys sont présentes dans le processus.

La nature silencieuse de l'exploitation est un facteur aggravant majeur : aucun crash, aucun log d'erreur, aucune alerte IDS/IPS standard ne sera déclenchée. L'exfiltration peut avoir eu lieu plusieurs semaines avant toute détection, durant toute la période entre la publication du patch (25 février 2026) et l'attribution de la CVE (28 avril 2026) — soit 62 jours d'exposition sans radar.

Pour les organisations dans les secteurs Healthcare (HIPAA), Finance (PCI-DSS, RGPD) ou Défense utilisant des LLM locaux pour traiter des données sensibles, une exploitation réussie peut constituer une violation de données notifiable aux autorités compétentes (CNIL en France pour le RGPD), avec des conséquences réglementaires et financières significatives.

Recommandations immédiates

  • Mettre à jour vers Ollama 0.17.1 ou supérieur — le correctif ajoute une validation de tensor_element_count contre la taille réelle du buffer avant l'exécution de la boucle de quantification.
  • Restreindre l'écoute réseau : ajouter OLLAMA_HOST=127.0.0.1 dans l'environnement de service pour éliminer toute exposition réseau directe.
  • Déployer un reverse proxy authentifié (nginx, Caddy) avec Basic Auth ou token Bearer devant l'API Ollama pour les déploiements multi-utilisateurs.
  • Appliquer des règles firewall : restreindre le port 11434/TCP aux seules IPs de management autorisées.
  • Faire pivoter toutes les clés API présentes dans l'environnement de tout serveur Ollama accessible en réseau depuis le 2 février 2026 : AWS, OpenAI, Anthropic, GitHub, database credentials.
  • Auditer les logs réseau pour des requêtes POST inhabituelles vers /api/blobs/, /api/create et /api/push depuis des IPs non reconnues.

⚠️ Urgence

Environ 300 000 serveurs Ollama restent exposés sur Internet sans authentification. Scanning actif confirmé par Cyera Research. Toute instance exposée depuis le 2 février 2026 doit être considérée comme potentiellement compromise et ses credentials pivotés.

Comment savoir si je suis vulnérable ?

Vérifiez la version : ollama --version. Toute version antérieure à 0.17.1 est vulnérable. Pour tester l'exposition réseau : curl -s http://<ip_serveur>:11434/api/tags — si vous obtenez une liste de modèles sans authentification depuis un hôte externe, votre instance est exposée. Utilisez ss -tlnp | grep 11434 pour vérifier l'interface d'écoute : 0.0.0.0:11434 signifie une exposition complète.

Votre infrastructure est-elle exposée ?

Ayi NEDJIMI réalise des audits ciblés pour identifier et corriger vos vulnérabilités.

Demander un audit