SGLang corrige CVE-2026-5760 (CVSS 9.8) : une injection SSTI Jinja2 dans les fichiers GGUF permet une RCE via l endpoint /v1/rerank des serveurs d inférence LLM.
En bref
- SGLang 0.5.9 : RCE via SSTI Jinja2 dans les fichiers GGUF (CVE-2026-5760, CVSS 9.8)
- Exploitation déclenchée par le chargement d'un modèle et un appel à /v1/rerank
- Pas de sandbox Jinja2 : tout GGUF téléchargé depuis un dépôt public devient vecteur RCE
Les faits
Les chercheurs d'Orca Security ont publié le 20 avril 2026 les détails de CVE-2026-5760, une vulnérabilité critique (CVSS 9.8) dans SGLang, framework open-source d'inférence pour grands modèles de langage. La faille permet à un attaquant de déclencher une exécution de code distante via un fichier GGUF (GPT-Generated Unified Format) malveillant dont le paramètre tokenizer.chat_template contient une payload d'injection de template côté serveur (SSTI) écrite en Jinja2.
La cause racine est l'utilisation de jinja2.Environment() sans bac à sable, au lieu de la variante ImmutableSandboxedEnvironment. Lorsque la victime charge le modèle piégé dans SGLang et qu'une requête atteint l'endpoint /v1/rerank avec la phrase déclencheuse "The answer can only be 'yes' or 'no'" (reconnue par la détection du reranker Qwen3), le template est rendu et la payload exécute du code Python arbitraire sur le serveur d'inférence.
Impact et exposition
Tout déploiement SGLang qui charge des modèles GGUF provenant de dépôts publics (Hugging Face, mirrors communautaires) est vulnérable. La surface est d'autant plus large que SGLang est massivement utilisé pour servir Qwen, DeepSeek, Llama et d'autres LLM en production. Les serveurs d'inférence exposent souvent des GPU, des clés API tierces (OpenAI, Anthropic) et des données sensibles transitées en prompt ou en RAG, autant de cibles de valeur pour un attaquant ayant obtenu un shell.
Recommandations
- Ne charger que des modèles GGUF signés ou provenant de sources vérifiées en interne
- Mettre à niveau SGLang dès la publication du correctif enforcement de la sandbox Jinja2
- En attendant, auditer les modèles déjà déployés en recherchant des chat_templates contenant des appels suspects (subprocess, os, open, __class__, __mro__)
- Isoler les serveurs d'inférence dans des segments réseau dédiés avec egress filtré
- Activer le monitoring des processus enfants de SGLang pour détecter toute exécution Python non attendue
Alerte critique
L'écosystème LLM normalise le téléchargement massif de modèles tiers. CVE-2026-5760 transforme chaque fichier GGUF en potentiel cheval de Troie. Un seul modèle piégé sur Hugging Face peut compromettre des milliers de serveurs SGLang.
Comment auditer un fichier GGUF sans le charger dans SGLang ?
Extrayez les métadonnées avec gguf-py ou llama.cpp gguf-dump et inspectez le champ tokenizer.chat_template. Toute construction Jinja2 contenant {{% set %}} avec appels à __class__, __subclasses__, __globals__, os ou subprocess est un indicateur de compromission. Le template légitime ne devrait contenir que de la mise en forme de messages chat.
Votre infrastructure est-elle exposée ?
Ayi NEDJIMI réalise des audits de sécurité ciblés pour identifier et corriger vos vulnérabilités avant qu'elles ne soient exploitées.
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
Articles connexes
FIRESTARTER : APT persistant sur les pare-feu Cisco ASA
CISA et le NCSC britannique alertent sur FIRESTARTER, un implant déployé par l'APT UAT-4356 sur les pare-feu Cisco ASA et Firepower. Le malware survit aux patchs et aux reboots logiciels.
ADT confirme une fuite : ShinyHunters menace 10 M de clients
Le géant américain de la sécurité résidentielle ADT confirme une fuite après une attaque vishing sur Okta SSO. ShinyHunters revendique 10 millions de dossiers et fixe un ultimatum au 27 avril.
Pack2TheRoot CVE-2026-41651 : root Linux pour tous (8.8)
Une faille critique dans PackageKit (CVE-2026-41651, CVSS 8.8) permet à tout utilisateur Linux non privilégié d'obtenir root sur la majorité des distributions, du serveur Ubuntu LTS au poste Fedora.
Commentaires (1)
Laisser un commentaire