En bref

  • CVE-2026-33626 (CVSS 7.5), une SSRF dans LMDeploy, a été exploitée 12 heures après sa publication sur GitHub.
  • La faille frappe la fonction load_image() de lmdeploy/vl/utils.py, utilisée par les serveurs vision-language LLM.
  • Sysdig a détecté un attaquant scannant IMDS AWS, Redis, MySQL et exfiltrant via DNS depuis un honeypot.

Ce qui s'est passé

Points clés à retenir

  • Ce qui s'est passé
  • Pourquoi c'est important
  • Ce qu'il faut retenir

Référencée LMDeploy CVE-2026-33626, cette vulnérabilité critique touche LMDeploy, la boîte à outils open source du Shanghai AI Laboratory dédiée au déploiement et au service de modèles vision-langage (VLM) et de grands modèles de langage (LLM). Le problème se situe dans la fonction load_image() du fichier lmdeploy/vl/utils.py : celle-ci télécharge les images à partir d'URL fournies par l'utilisateur sans jamais vérifier la destination réseau. Aucune validation ne bloque les adresses IP internes, les plages privées ni les services de métadonnées cloud. Un attaquant disposant d'un simple accès à l'API d'inférence peut donc transformer le serveur de modèles en relais et atteindre des ressources normalement inaccessibles depuis l'extérieur — une Server-Side Request Forgery (SSRF) classique, mais aux conséquences lourdes dans les infrastructures GPU mutualisées. Douze heures ont suffi pour que les premières tentatives d'exploitation soient observées.

L'attaquant a détourné le loader d'images comme primitive HTTP générique pour cartographier le réseau interne derrière le serveur de modèle : Instance Metadata Service AWS (IMDS), Redis, MySQL, une interface admin HTTP secondaire, plus une exfiltration out-of-band via DNS vers un domaine contrôlé par l'attaquant. Le score CVSS de 7.5 sous-estime largement le risque réel : sur les nœuds vision-LLM, qui tournent généralement sur des instances GPU à rôles IAM larges (S3 d'artefacts modèles, datasets d'entraînement, cross-account assume-role), une seule requête IMDS suffit à compromettre l'intégralité du compte cloud.

Pourquoi c'est important

Cette CVE illustre une tendance de fond : les outils d'inférence LLM open source sont devenus des cibles de premier plan, et l'écart entre publication d'un advisory et premier exploit se compte désormais en heures. La logique business est imparable côté attaquant : un GPU H100 compromis vaut financièrement plus qu'un serveur web classique, et les permissions IAM accordées aux workloads ML sont presque toujours surdimensionnées par rapport au principe du moindre privilège. Les équipes MLOps, encore jeunes en moyenne, n'ont souvent pas intégré les réflexes hardening de la sécurité cloud traditionnelle.

Pour les équipes françaises qui exploitent des serveurs vision-LLM en production, le réflexe à adopter est double : isoler les inférences derrière un VPC sans accès IMDS v1 (forcer IMDSv2 avec hop limit à 1), et auditer systématiquement les rôles IAM attachés aux nœuds GPU pour les ramener au strict nécessaire. Côté supply chain, surveiller les advisories des dépôts upstream LMDeploy, vLLM et Triton avec la même rigueur que pour les CVE Linux ou Apache devient indispensable.

Ce qu'il faut retenir

  • LMDeploy en version inférieure à 0.12.3 doit être mis à jour immédiatement, l'exploitation est confirmée.
  • Forcer IMDSv2 et limiter les rôles IAM des nœuds vision-LLM réduit drastiquement l'impact.
  • Le délai entre advisory et exploit sur les outils LLM est désormais inférieur à 24 heures.

Comment détecter une exploitation de CVE-2026-33626 sur ma plateforme ?

Inspectez les logs HTTP du service LMDeploy à la recherche d'appels load_image() ciblant 169.254.169.254 (IMDS AWS), des plages RFC1918 ou des hôtes Redis et MySQL internes. Côté DNS, surveillez les requêtes sortantes vers des sous-domaines aléatoires typiques de l'exfiltration out-of-band.

Anatomie technique de la faille

Le vecteur CVSSv3 associé à CVE-2026-33626 se décompose ainsi : AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N. Le point critique est la double absence de barrière : PR:N (aucune authentification requise sur les endpoints d'inférence exposant load_image()) combinée à AC:L (complexité d'exploitation quasi nulle, un simple payload JSON avec une URL interne suffit). Le score reste borné à 7.5 car l'impact direct se limite à la confidentialité (C:H), sans exécution de code ni atteinte à l'intégrité — mais cette lecture stricte du CVSS ignore l'effet de rebond : une SSRF vers IMDS (http://169.254.169.254/latest/meta-data/iam/security-credentials/) permet de récupérer des jetons IAM temporaires, transformant une fuite d'information en compromission d'infrastructure complète.

Les versions vulnérables couvrent toute la branche antérieure à 0.12.3, y compris les déploiements via les images Docker officielles publiées sur Docker Hub avant le correctif. La remédiation immédiate consiste à mettre à jour vers 0.12.3 ou une version ultérieure, où load_image() applique désormais une liste de blocage sur les plages d'adresses privées (RFC 1918), le lien-local (169.254.0.0/16) et le loopback. En complément, l'application d'une politique de sortie réseau stricte (egress filtering) au niveau du pod ou de l'instance GPU — n'autorisant que les domaines de stockage d'images légitimes — neutralise la faille même sans mise à jour immédiate, une mesure de défense en profondeur recommandée pour tout service exposant un chargeur d'URL côté serveur.

Un pattern déjà documenté dans l'écosystème MLOps

CVE-2026-33626 n'est pas un cas isolé : elle s'inscrit dans une série de vulnérabilités SSRF touchant les briques d'infrastructure IA depuis 2023, comme celles identifiées dans Ray (CVE-2023-48022, exploitation massive de clusters de calcul distribué) ou dans des serveurs de modèles exposant des fonctions de chargement d'artefacts distants sans validation. Le point commun : ces outils ont été conçus par des équipes de recherche pour des environnements de confiance (clusters internes), puis déployés tels quels en production exposée à Internet, sans le durcissement réseau habituellement appliqué aux services web classiques. Le délai de 12 heures et 31 minutes observé par Sysdig confirme une tendance mesurée depuis 2025 : les groupes opportunistes surveillent en continu les dépôts GitHub des frameworks d'IA populaires et disposent de chaînes d'exploitation automatisées prêtes à être adaptées dès la publication d'un diff de correctif, qui révèle souvent la faille elle-même (n-day quasi instantané). Pour les organisations opérant des clusters GPU mutualisés, cet épisode renforce l'argument en faveur d'une segmentation réseau par défaut entre les nœuds d'inférence et les métadonnées cloud, indépendamment du patch level des frameworks utilisés.

Besoin d'un accompagnement expert ?

Ayi NEDJIMI vous accompagne sur vos projets cybersécurité et IA.

Prendre contact

Sources et références