CVE-2026-105192 est une RCE non authentifiée CVSS 9.8 dans LMCache, la couche de cache distribuée pour vLLM, exploitant une désérialisation pickle non sécurisée via socket ZeroMQ. Aucun patch disponible au 7 octobre 2026 ; un PoC public publié par JFrog rend l'exploitation triviale pour toute organisation exposant le port 5555.
En bref
- CVE-2026-105192 : RCE non authentifiée CVSS 9.8 dans LMCache (couche KV cache pour vLLM) — désérialisation pickle non sécurisée sur socket ZeroMQ port 5555
- Versions affectées : LMCache 0.3.9 à 0.5.5 en mode distribué — aucun patch disponible au 7 octobre 2026 ; PoC public disponible
- Action urgente : bloquer le port TCP 5555 sur toutes les interfaces non de confiance ; ne jamais exposer LMCache sur un réseau public ou partagé
Les faits
Le 7 octobre 2026, l'équipe de recherche en sécurité de JFrog a publié un advisory révélant CVE-2026-105192, une vulnérabilité critique d'exécution de code à distance non authentifiée affectant LMCache en mode distribué. Avec un score CVSS 3.1 de 9.8 et un vecteur CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H, cette faille permet à tout attaquant capable d'atteindre le réseau de l'infrastructure d'exécuter du code arbitraire avec les privilèges du processus LMCache — typiquement root dans les environnements conteneurisés officiels.
LMCache est la couche de cache clé-valeur (KV cache) distribuée conçue pour accélérer les inférences du moteur vLLM, le framework d'inférence de modèles de langage de grande taille (LLM) le plus utilisé dans les déploiements de production. LMCache gère la persistance et le partage des KV caches entre plusieurs instances vLLM, permettant la réutilisation de préfixes calculés et réduisant significativement la latence d'inférence. Sa présence dans les stacks d'inférence de Google Cloud GKE Inference, CoreWeave, NVIDIA Dynamo et IBM LLM Serving illustre l'ampleur de son adoption dans les environnements de production IA à grande échelle.
La root cause de CVE-2026-105192 est une combinaison fatale de deux mauvaises pratiques de sécurité : l'absence totale d'authentification sur le socket ZeroMQ ROUTER ouvert par défaut sur le port 5555, et l'utilisation de pickle Python — un mécanisme de sérialisation notoirement dangereux — pour désérialiser les données contrôlées par l'attaquant. En mode multiprocessus, LMCache ouvre un socket ZeroMQ ROUTER sur 0.0.0.0:5555 sans aucun mécanisme d'authentification ou de chiffrement. Les messages reçus sont traités via msgpack ; lorsque le code d'extension 1 est fourni, la fonction DeviceIPCWrapper.Deserialize invoque directement pickle.loads() sur les données contrôlées par l'attaquant avant toute logique d'authentification ou de validation.
Pickle Python est un format de sérialisation qui permet l'exécution de code arbitraire lors de la désérialisation d'un objet malveillant. C'est une propriété intrinsèque et documentée de pickle : la documentation officielle Python avertit explicitement de ne jamais désérialiser des données pickle provenant de sources non de confiance. L'utilisation de pickle.loads() sur des données réseau non authentifiées constitue une vulnérabilité critique par construction. CVE-2026-105192 illustre un anti-pattern tristement commun dans l'écosystème ML/AI, où les développeurs priorisent la performance et la simplicité d'implémentation sur la sécurité opérationnelle.
JFrog Security Research a publié un proof-of-concept (PoC) complet simultanément avec l'advisory le 7 octobre 2026. Ce PoC démontre comment un unique message ZeroMQ DEALER envoyé au port 5555 permet d'exécuter des commandes shell arbitraires avec les privilèges du processus LMCache. La publication du PoC signifie que la barrière technique à l'exploitation est quasi nulle : n'importe quel attaquant avec un accès réseau au port 5555 peut reproduire l'exploitation en quelques minutes, sans nécessiter de connaissances avancées en exploitation de vulnérabilités.
La gravité de la situation est amplifiée par deux facteurs critiques. Premièrement, les images de conteneurs officiels de LMCache s'exécutent en tant que root, ce qui signifie qu'une exploitation réussie donne un accès root complet au conteneur et potentiellement à l'hôte via des techniques d'évasion de conteneur. Deuxièmement, aucun patch n'était disponible au moment de la divulgation le 7 octobre 2026 : JFrog a coordonné la divulgation avec les mainteneurs de LMCache, mais la correction n'avait pas encore été intégrée dans une version stable à la date de publication de l'advisory, créant une fenêtre d'exposition zero-day.
L'absence de patch combinée à la publication d'un PoC crée une fenêtre d'exposition critique particulièrement dangereuse. La vérification de l'exposition est simple : tester si le port 5555 est accessible depuis des réseaux non de confiance suffit à déterminer le risque immédiat. Les déploiements Kubernetes doivent vérifier les NetworkPolicies autorisant le trafic vers ce port — une configuration par défaut permissive (commune dans les environnements de développement IA) peut exposer des instances LMCache sans que les équipes d'infrastructure en soient conscientes.
Selon NVD/NIST et les analyses JFrog, les versions affectées sont LMCache 0.3.9 à 0.5.5 incluses. Les déploiements utilisant LMCache uniquement en mode single-process (sans le mode distribué multiprocessus) ne sont pas exposés par ce vecteur spécifique. Cependant, la documentation officielle de LMCache recommande le mode distribué pour les déploiements à scale, ce qui en fait la configuration la plus courante dans les environnements de production. Les organisations ayant migré vers LMCache depuis vllm-router ou d'autres solutions de cache pour LLM sont particulièrement concernées.
Impact et exposition
CVE-2026-105192 cible directement l'infrastructure d'inférence IA, un segment en forte croissance dont la posture de sécurité est souvent immature. Les organisations exposées sont celles ayant déployé vLLM avec LMCache en mode distribué pour des workloads d'inférence LLM en production : fournisseurs de services IA, entreprises ayant internalisé leurs modèles de langage, plateformes de génération de code, services de chatbot entreprise, et plateformes de recherche académique utilisant des clusters GPU partagés.
La condition d'exploitation est particulièrement préoccupante dans les environnements Kubernetes multi-tenant : si le port 5555 d'un pod LMCache est accessible depuis d'autres namespaces ou depuis Internet (via un LoadBalancer ou NodePort mal configuré), l'exploitation peut mener à une compromission complète du nœud hôte. Dans les clusters partagés, cela peut permettre une compromission latérale inter-tenant, exposant les données d'inférence de plusieurs clients à partir d'une seule exploitation.
L'impact direct d'une exploitation réussie comprend : exécution de code arbitraire avec privilèges root sur le serveur d'inférence, accès aux modèles IA propriétaires et aux données d'inférence potentiellement confidentielles, extraction des credentials d'accès aux services cloud sous-jacents via le metadata service (IMDSv1/v2), et pivot vers d'autres systèmes du réseau interne. Dans un contexte d'inférence de modèles propriétaires à forte valeur commerciale, la compromission peut aussi impliquer le vol du modèle lui-même et des données d'entraînement associées.
La surface d'attaque est particulièrement large car LMCache est souvent déployé dans des environnements réseau internes avec des politiques de sécurité moins strictes que les périmètres externes. Un attaquant ayant obtenu un foothold initial peut utiliser CVE-2026-105192 pour un mouvement latéral rapide vers l'infrastructure d'inférence IA, accédant ainsi aux actifs les plus précieux : les modèles, les données d'entraînement, et les pipelines de production IA.
Recommandations immédiates
- Bloquer immédiatement le port TCP 5555 sur toutes les interfaces non de confiance via règles firewall (iptables, nftables) ou NetworkPolicies Kubernetes
- Vérifier qu'aucune instance LMCache n'est exposée sur une interface publique ou un réseau non segmenté — tester avec
nmap -p 5555 <host>depuis un réseau externe - Si LMCache est déployé dans Kubernetes, auditer immédiatement les NetworkPolicies autorisant le trafic entrant vers le port 5555 dans tous les namespaces concernés
- Exécuter LMCache avec un utilisateur non-root : ajouter
securityContext.runAsNonRoot: trueetsecurityContext.runAsUser: <uid non-root>dans les manifests Kubernetes - Surveiller les connexions sortantes anormales depuis les pods ou hôtes LMCache (indicateur potentiel d'exploitation active)
- Vérifier la disponibilité d'un patch sur le dépôt officiel LMCache et appliquer dès disponibilité d'une version corrigée
- Considérer l'utilisation de mTLS ou d'un proxy authentifiant devant le port ZeroMQ en attendant le patch officiel
⚠️ Urgence
CVE-2026-105192 est une vulnérabilité non patchée avec PoC public, CVSS 9.8, exploitable sans authentification en quelques minutes. L'exécution s'effectue en root dans les déploiements officiels. Si vous utilisez LMCache en mode distribué, considérez votre infrastructure compromise jusqu'à vérification de l'isolation réseau du port 5555. Action immédiate requise — bloquer le port avant toute autre étape.
Comment savoir si je suis vulnérable ?
Exécutez ss -tlnp | grep 5555 ou netstat -tlnp | grep 5555 sur les hôtes exécutant LMCache. Si le port 5555 est en état LISTEN sur une interface non-loopback (0.0.0.0 ou une IP publique/interne), vous êtes vulnérable si la version LMCache est comprise entre 0.3.9 et 0.5.5. Pour vérifier la version : pip show lmcache ou pip3 show lmcache. Dans Kubernetes : kubectl exec -n <namespace> <pod> -- ss -tlnp | grep 5555. Une réponse vide signifie que le port n'est pas exposé sur ce pod.
Votre infrastructure IA est-elle sécurisée ?
Ayi NEDJIMI réalise des audits ciblés pour identifier et corriger vos vulnérabilités, y compris dans vos déploiements LLM et infrastructure IA.
Demander un auditÀ propos de l'auteur
Ayi NEDJIMI
Auditeur Senior Cybersécurité & Consultant IA
Expert Judiciaire — Cour d'Appel de Paris
Habilitation Confidentiel Défense
ayi@ayinedjimi-consultants.fr
Ayi NEDJIMI est un vétéran de la cybersécurité avec plus de 25 ans d'expérience sur des missions critiques. Ancien développeur Microsoft à Redmond sur le module GINA (Windows NT4) et co-auteur de la version française du guide de sécurité Windows NT4 pour la NSA.
À la tête d'Ayi NEDJIMI Consultants, il réalise des audits Lead Auditor ISO 42001 et ISO 27001, des pentests d'infrastructures critiques, du forensics et des missions de conformité NIS2 / AI Act.
Conférencier international (Europe & US), il a formé plus de 10 000 professionnels.
Domaines d'expertise
Ressources & Outils de l'auteur
Testez vos connaissances
Mini-quiz de certification lié à cet article — propulsé par CertifExpress
Articles connexes
CVE-2026-77900 : Azure App Service Linux RCE CVSS 9.8
CVE-2026-77900 est une RCE critique CVSS 9.8 dans Azure App Service pour Linux, résultant d'une authentification manquante sur une fonction critique (CWE-306). Microsoft a corrigé le service de manière transparente le 8 octobre 2026 sans action requise des clients, mais une revue forensique des logs Azure Monitor est recommandée pour détecter d'éventuelles compromissions antérieures.
CVE-2026-107406 : Citrix NetScaler RCE SAML CVSS 9.5
CVE-2026-107406 est un débordement mémoire critique (CVSS 9.5) dans Citrix NetScaler ADC et Gateway affectant les configurations SAML. Publié via CTX697191 le 8 octobre 2026, ce bulletin impose un patch immédiat sur tous les déploiements NetScaler exposant des services SAML.
CVE-2026-76485 : Cisco Nexus NX-OS RCE sans auth CVSS 9.8
CVE-2026-76485, CVE-2026-76486 et CVE-2026-76501 : trois buffer overflows CVSS 9.8 dans Cisco NX-OS NGOAM permettent l'exécution de code en root sans authentification sur les Nexus 3000 et 9000.
Un projet cybersécurité ? Parlons-en.
Pentest, conformité NIS 2, ISO 27001, audit IA, RSSI externalisé… nos experts répondent sous 24h pour évaluer votre besoin et vous proposer un accompagnement sur mesure.
Commentaires
Aucun commentaire pour le moment. Soyez le premier à commenter !
Laisser un commentaire