SGLang CVE-2026-5760 CVSS 9.8 : les serveurs LLM open source vulnerables aux RCE via fichiers GGUF — ce que les RSSI doivent faire maintenant

SGLang CVE-2026-5760 RCE serveurs LLM GGUF SSTI mai 2026
Viktor Svensson
Viktor Svensson
Analyste cybersecurite senior — WebGuard Agency
| ·12 min de lecture
Resumer cet article avec : Google News ChatGPT Claude Perplexity

TL;DR

  • La CVE-2026-5760 (CVSS 9.8) frappe SGLang, le framework open source de serving LLM utilise par des milliers d entreprises pour deployer des modeles d IA en interne.
  • Un attaquant peut executer du code arbitraire a distance (RCE) en fournissant un fichier GGUF malveillant contenant un payload SSTI dans le champ tokenizer.chat_template.
  • La cause racine : le moteur Jinja2 utilise sans sandboxing (jinja2.Environment() au lieu de ImmutableSandboxedEnvironment) dans le fichier serving_rerank.py.
  • L endpoint vulnerable /v1/rerank est declenche via une phrase trigger specifique au reranker Qwen3.
  • Pour les RSSI : auditez immediatement votre stack d inference IA. NIS2 impose le patching des CVE critiques sans delai. Ne chargez jamais de modeles GGUF provenant de sources non verifiees.
CHAINE D ATTAQUE CVE-2026-5760 - SGLANG RCE VIA GGUF 1. Attaquant Cree un fichier GGUF avec payload SSTI 2. chat_template Jinja2 SSTI payload dans tokenizer metadata 3. SGLang Server Charge le modele GGUF jinja2.Environment() 4. RCE Code arbitraire execute sur serveur ENDPOINT VULNERABLE : /v1/rerank serving_rerank.py - Qwen3 reranker trigger phrase CAUSE RACINE : PAS DE SANDBOXING jinja2.Environment() au lieu de ImmutableSandboxedEnvironment CVE-2026-5760 | CVSS 9.8 CRITIQUE | RCE SANS AUTHENTIFICATION Sources : The Hacker News, Vulert - Avril 2026

Les faits : une CVE 9.8 qui transforme vos serveurs LLM en portes derobees

Le 20 avril 2026, les chercheurs en securite de The Hacker News et Vulert ont publie les details de la CVE-2026-5760, une vulnerabilite critique affectant SGLang, l un des frameworks open source les plus populaires pour le serving de modeles de langage (LLM). Avec un score CVSS de 9.8 sur 10, cette faille se place dans la categorie la plus elevee de severite : critique, sans authentification requise, exploitable a distance.

SGLang est utilise par des milliers d entreprises et de laboratoires de recherche pour deployer des modeles LLM en production. Le framework offre des performances elevees grace a son architecture optimisee et supporte une large gamme de modeles, dont ceux au format GGUF (GPT-Generated Unified Format), un standard populaire pour la distribution de modeles quantifies. C est precisement ce support des fichiers GGUF qui est au coeur de la vulnerabilite.

La faille reside dans l endpoint /v1/rerank, le service de reranking de SGLang. Lorsqu un modele GGUF est charge, SGLang extrait les metadonnees du tokenizer, y compris le champ tokenizer.chat_template. Ce template est ensuite rendu par le moteur de templates Jinja2 lorsqu une requete de reranking est traitee. Le probleme : SGLang utilisait jinja2.Environment() — l environnement Jinja2 standard, sans aucune restriction — au lieu de ImmutableSandboxedEnvironment, qui empeche l execution de code arbitraire dans les templates.

đź’ˇ Notre avis d expert

Cette CVE illustre un probleme fondamental de l ecosysteme IA open source : la confiance implicite accordee aux fichiers de modeles. Les equipes d inference traitent les fichiers GGUF comme des donnees passives, alors qu ils contiennent du code executable via les templates Jinja2. C est l equivalent de traiter un fichier Word avec des macros comme un simple document texte. Le resultat est previsible.

Anatomie technique : comment un template Jinja2 devient une arme

Pour comprendre la gravite de cette vulnerabilite, il faut examiner le mecanisme d exploitation etape par etape. Le vecteur d attaque repose sur la technique SSTI (Server-Side Template Injection), une classe de vulnerabilites bien documentee mais souvent negligee dans les stacks d inference IA.

Etape 1 : Creation du fichier GGUF piege. L attaquant cree un fichier de modele au format GGUF en y inserant un payload SSTI dans le champ tokenizer.chat_template. Ce champ est normalement utilise pour definir le format de conversation du modele (par exemple, les balises <|user|> et <|assistant|>). L attaquant y place un payload Jinja2 malveillant qui exploite les classes de base Python pour acceder au module os et executer des commandes systeme.

Etape 2 : Chargement du modele. Le serveur SGLang charge le fichier GGUF, soit depuis un depot de modeles (Hugging Face, depot interne), soit depuis un chemin local. Le tokenizer est initialise avec les metadonnees du fichier, y compris le chat_template malveillant. A ce stade, le payload est en memoire mais n a pas encore ete execute.

Etape 3 : Declenchement via /v1/rerank. L attaquant envoie une requete POST vers l endpoint /v1/rerank avec la phrase trigger specifique au reranker Qwen3. Le fichier entrypoints/openai/serving_rerank.py traite la requete et appelle jinja2.Environment() pour rendre le template du tokenizer. Sans sandboxing, le payload SSTI est execute avec les privileges du processus SGLang.

Etape 4 : Execution de code arbitraire. Le payload accede a la chaine de classes Python (__class__.__mro__) pour atteindre subprocess.Popen ou os.system, executant des commandes systeme arbitraires. L attaquant obtient un shell reverse, exfiltre des donnees, installe un backdoor ou pivote vers d autres systemes du reseau interne. Le tout sans aucune authentification.

CODE VULNERABLE VS CODE CORRIGE - serving_rerank.py VULNERABLE from jinja2 import Environment env = Environment() template = env.from_string( tokenizer.chat_template ) Aucune restriction : code Python execute CORRIGE from jinja2.sandbox import ImmutableSandboxedEnvironment env = ImmutableSandboxed Environment() template = env.from_string( tokenizer.chat_template Sandbox : acces systeme bloque

Le correctif est d une simplicite deconcertante : remplacer jinja2.Environment() par ImmutableSandboxedEnvironment(). Une ligne de code. Mais cette ligne separait des milliers de serveurs LLM d une compromission totale. La documentation Jinja2 elle-meme avertit explicitement de ne jamais utiliser l environnement non sandboxe avec des templates provenant de sources non fiables. Le fait que cette recommandation basique ait ete ignoree dans un framework aussi critique que SGLang est revelateur de l etat de la securite dans l ecosysteme IA open source.

đź’ˇ Notre avis d expert

Le pattern est recurrent : les developpeurs IA se focalisent sur les performances d inference et la compatibilite des modeles, en negligeant les fondamentaux de la securite applicative. Un SSTI dans Jinja2, c est une vulnerabilite documentee depuis plus de 10 ans. Des outils comme Semgrep ou Bandit la detectent automatiquement. Le fait qu elle ait atteint la production dans SGLang montre l absence totale de revue de securite dans le pipeline de developpement du framework.

Impact pour les entreprises : votre stack d inference IA est une surface d attaque

La CVE-2026-5760 ne concerne pas uniquement SGLang. Elle revele un probleme structurel affectant l ensemble des entreprises qui deploient des LLM en interne. Analysons les risques concrets pour les organisations francaises.

Surface d attaque elargie par l IA. Les entreprises deploient des LLM a un rythme accelere : chatbots internes, assistants de code, systemes RAG (Retrieval-Augmented Generation), pipelines de classification de documents. Chaque deploiement ajoute un serveur d inference au perimetre de securite. Ces serveurs s executent souvent avec des privileges eleves (acces GPU, acces reseau interne, acces aux bases de donnees de documents) et sont rarement soumis aux memes controles de securite que les applications web traditionnelles.

Supply chain des modeles non securisee. Les equipes data science telechargent des modeles depuis Hugging Face, des depots communautaires ou des partages internes sans verification de securite. Un fichier GGUF malveillant peut etre distribue via un depot apparemment legitime, un fork d un modele populaire ou meme via une compromission du depot interne de l entreprise. La CVE-2026-5760 transforme chaque fichier GGUF non verifie en vecteur d attaque potentiel.

Mouvement lateral facilite. Les serveurs d inference LLM sont generalement positionnes dans des zones reseau internes avec acces aux donnees de l entreprise. Une RCE sur un serveur d inference donne a l attaquant un point d ancrage ideal pour le mouvement lateral : acces aux bases de donnees vectorielles, aux API internes, aux fichiers de configuration contenant des credentials. La compromission d un serveur LLM peut rapidement devenir une breche de donnees majeure.

Notre guide sur la securisation des infrastructures d entreprise detaille les controles a implementer pour reduire ces risques. Pour une approche methodique, consultez egalement notre article sur la securite des LLM : risques et defenses.

SURFACE D ATTAQUE LLM EN ENTREPRISE FICHIER GGUF MALVEILLANT Payload SSTI dans chat_template SERVEUR SGLANG (RCE) GPU + acces reseau interne + credentials Base vectorielle Documents confidentiels API internes ERP, CRM, SIRH Credentials Tokens API, cles SSH Reseau interne Mouvement lateral CONSEQUENCE : BRECHE DE DONNEES MAJEURE + NON-CONFORMITE NIS2

NIS2 et l obligation de patcher les CVE critiques : ce que dit la reglementation

La directive NIS2, en cours de transposition en droit francais, impose aux entites essentielles et importantes des obligations explicites en matiere de gestion des vulnerabilites. L article 21 de la directive exige des mesures de securite couvrant "la securite de l acquisition, du developpement et de la maintenance des reseaux et des systemes d information, y compris le traitement et la divulgation des vulnerabilites".

Une CVE avec un score CVSS de 9.8 constitue un risque critique que toute entite regulee doit traiter en priorite absolue. Le non-patching d une telle vulnerabilite, surtout apres sa publication et la disponibilite d un correctif, constitue un manquement caractarise aux obligations NIS2. Les sanctions peuvent atteindre 10 millions d euros ou 2% du chiffre d affaires annuel mondial pour les entites essentielles.

Mais au-dela du patching de SGLang lui-meme, NIS2 impose une vision plus large. Les entreprises doivent maintenir un inventaire a jour de leurs composants logiciels (SBOM - Software Bill of Materials), incluant les frameworks d inference IA, les bibliotheques de serving de modeles et les depots de modeles utilises. Chaque composant doit etre suivi pour les vulnerabilites connues et les mises a jour de securite. Notre analyse des etapes de mise en conformite NIS2 detaille cette methodologie.

đź’ˇ Notre avis d expert

Le probleme de fond, c est que les stacks d inference IA echappent souvent au radar des equipes securite. Les serveurs SGLang, vLLM, TGI ou Ollama sont deployes par les equipes data science, parfois en shadow IT, sans passer par le processus de validation securite standard. NIS2 ne fait pas de distinction : tout systeme d information de l entreprise est dans le scope. Les RSSI doivent imperativement integrer les infrastructures d IA dans leur perimetre de gestion des vulnerabilites.

Plan d action immediat pour les RSSI : 6 mesures prioritaires

Face a la CVE-2026-5760, voici les actions concretes que chaque RSSI doit mettre en oeuvre immediatement.

  1. Inventorier tous les deploiements SGLang. Identifiez chaque instance SGLang dans votre SI, y compris les deploiements shadow IT par les equipes data science. Verifiez la version deployee et la presence de l endpoint /v1/rerank. Cela inclut les environnements de developpement, de staging et de production.
  2. Patcher immediatement. Mettez a jour SGLang vers la derniere version corrigee. Si le patching n est pas possible dans l immediat, desactivez l endpoint /v1/rerank ou bloquez-le au niveau du reverse proxy/WAF.
  3. Auditer les fichiers GGUF charges. Verifiez la provenance de chaque fichier GGUF utilise dans vos deploiements. Inspectez le champ tokenizer.chat_template de chaque modele a la recherche de payloads SSTI. Utilisez des outils comme gguf-dump pour extraire et analyser les metadonnees.
  4. Segmenter le reseau. Isolez les serveurs d inference LLM dans un segment reseau dedie avec des controles d acces stricts. Les serveurs d inference ne doivent pas avoir d acces direct aux bases de donnees de production, aux systemes d authentification ou aux reseaux de management.
  5. Implementer le principe de moindre privilege. Les processus SGLang doivent s executer avec un compte de service dedie, sans privileges root, avec des capabilities Linux minimales. Utilisez des conteneurs avec des profils seccomp et AppArmor restrictifs.
  6. Etablir une politique de supply chain des modeles. Definissez un processus de validation obligatoire pour tout modele LLM avant son deploiement : verification de la source, scan des metadonnees, signature cryptographique, revue de securite du tokenizer. Interdisez le chargement de modeles depuis des sources non approuvees.

Votre infrastructure LLM est-elle securisee ?

La CVE-2026-5760 n est que la partie visible de l iceberg. WebGuard Agency realise des audits de securite specialises sur les infrastructures d inference IA : analyse des frameworks de serving, revue de la supply chain des modeles, tests de penetration sur les endpoints d API LLM. Rapport detaille avec plan de remediation en 5 jours ouvrables.

Demander un audit de securite IA →

Au-dela de SGLang : le risque systemique de la supply chain des modeles IA

La CVE-2026-5760 s inscrit dans une tendance plus large de vulnerabilites affectant la supply chain des modeles d IA. Les fichiers de modeles (GGUF, SafeTensors, PyTorch .pt) sont de plus en plus utilises comme vecteurs d attaque. Le format PyTorch pickle, par exemple, est connu depuis longtemps pour permettre l execution de code arbitraire lors du chargement d un modele. Le format SafeTensors a ete cree specifiquement pour resoudre ce probleme, mais les metadonnees des tokenizers restent un vecteur d attaque souvent neglige.

Hugging Face, la principale plateforme de distribution de modeles, heberge des centaines de milliers de modeles publics. Malgre les efforts de securite de la plateforme (scan de malware, detection de pickles malveillants), la verification exhaustive de chaque fichier GGUF est impossible a l echelle. Un attaquant sophistique peut distribuer un modele apparemment fonctionnel — performant sur les benchmarks, bien documente, avec des centaines de telechargements — tout en y inserant un payload SSTI furtif.

Les entreprises qui deploient des LLM on-premise doivent traiter la supply chain des modeles avec la meme rigueur que la supply chain logicielle traditionnelle. Cela implique : un registre interne de modeles approuves, des scans de securite automatises avant deploiement, des signatures cryptographiques pour garantir l integrite, et une veille active sur les CVE affectant les frameworks d inference. Notre article sur la securite de la supply chain logicielle offre un cadre de reference adaptable a la supply chain IA.

vLLM, TGI, Ollama : les autres frameworks sont-ils touches ?

La question immediate que se posent les RSSI est : mon framework de serving LLM est-il egalement vulnerable ? La reponse courte : la CVE-2026-5760 est specifique a SGLang, mais le pattern de risque (rendu Jinja2 non sandboxe a partir de metadonnees de modeles) peut exister dans d autres frameworks.

vLLM utilise egalement des templates Jinja2 pour le formatage des conversations, mais a implemente un sandboxing depuis la version 0.4.x. Verifiez neanmoins que votre version est a jour. Text Generation Inference (TGI) de Hugging Face utilise un moteur de templates Rust (minijinja) qui n est pas susceptible aux memes attaques SSTI Python, mais d autres vecteurs d attaque peuvent exister dans les metadonnees des modeles. Ollama utilise des templates Go, ce qui elimine le risque SSTI Python specifique, mais le chargement de modeles non verifies reste un risque.

La recommandation reste la meme quelle que soit le framework : ne chargez jamais de modeles provenant de sources non verifiees, auditez les metadonnees des modeles avant deploiement, et maintenez vos frameworks d inference a jour. Le paysage des CVE affectant les stacks d inference IA evolue rapidement. Ce qui est securise aujourd hui peut ne plus l etre demain.

đź’ˇ Notre avis d expert

Nous recommandons a tous nos clients de traiter les serveurs d inference LLM comme des systemes a haut risque, au meme titre que les serveurs de bases de donnees ou les controleurs de domaine Active Directory. Le deploiement d un LLM on-premise n est pas un projet data science. C est un projet d infrastructure critique qui necessite l implication du RSSI des la phase de conception. Si votre equipe data science deploie des LLM sans validation securite, vous avez un probleme de gouvernance urgent a resoudre.

Chronologie et prochaines etapes

20 avril 2026 : Publication de la CVE-2026-5760 par Vulert et The Hacker News. Score CVSS 9.8 attribue. Les details techniques sont publics, rendant l exploitation possible par tout attaquant motive.

Fin avril 2026 : L equipe SGLang publie un correctif integrant le sandboxing Jinja2. Les versions affectees sont documentees dans l advisory GitHub du projet.

Mai 2026 (a surveiller) : Avec les details d exploitation publics, des scans automatises ciblant les endpoints /v1/rerank exposees sur Internet sont a prevoir. Les honeypots devraient enregistrer les premieres tentatives d exploitation in-the-wild dans les semaines a venir. Les entreprises qui n ont pas encore patche sont en danger immediat.

Juin 2026 : Les regulateurs (ANSSI, CNIL) pourraient inclure les infrastructures d inference IA dans leurs prochaines campagnes de controle NIS2. Les entreprises doivent pouvoir demontrer qu elles ont traite la CVE-2026-5760 et mis en place des controles de securite sur leur stack d IA.

FAQ

Qu est-ce que la CVE-2026-5760 et pourquoi est-elle critique ? +

La CVE-2026-5760 est une vulnerabilite de type Server-Side Template Injection (SSTI) dans SGLang, un framework open source de serving LLM. Avec un score CVSS de 9.8 sur 10, elle permet l execution de code arbitraire a distance (RCE) via un fichier GGUF malveillant contenant un template Jinja2 piege dans le champ tokenizer.chat_template. L attaque cible l endpoint /v1/rerank et ne necessite aucune authentification prealable. La cause racine est l utilisation de jinja2.Environment() au lieu de ImmutableSandboxedEnvironment dans le fichier serving_rerank.py.

Comment un attaquant exploite-t-il la faille SGLang via un fichier GGUF ? +

L attaquant cree un fichier de modele GGUF contenant un payload SSTI dans le champ tokenizer.chat_template. Lorsque le serveur SGLang charge ce modele et qu une requete est envoyee sur l endpoint /v1/rerank avec la phrase trigger du reranker Qwen3, le template Jinja2 est rendu sans sandboxing. Le payload exploite la chaine de classes Python (__class__.__mro__) pour acceder a subprocess.Popen ou os.system et execute des commandes systeme arbitraires avec les privileges du processus SGLang.

Mon entreprise utilise des LLM on-premise : suis-je concerne ? +

Oui, si vous utilisez SGLang pour servir des modeles LLM, vous etes directement concerne. Mais au-dela de SGLang, cette CVE revele un pattern de risque plus large : tout framework de serving LLM qui charge des fichiers de modeles non verifies et utilise un moteur de templates sans sandboxing est potentiellement vulnerable. Les RSSI doivent auditer l ensemble de leur stack d inference IA — SGLang, vLLM, TGI, Ollama — et verifier que chaque composant est a jour et correctement configure.

Quelles sont les obligations NIS2 pour le patching de CVE critiques ? +

La directive NIS2 (article 21) impose aux entites essentielles et importantes de mettre en oeuvre des mesures de gestion des risques cyber incluant la gestion des vulnerabilites et le traitement des correctifs. Une CVE avec un score CVSS de 9.8 constitue un risque critique qui doit etre corrige dans les plus brefs delais. Le non-traitement d une telle vulnerabilite peut entrainer des sanctions allant jusqu a 10 millions d euros ou 2% du chiffre d affaires mondial. Les entreprises doivent documenter le traitement de chaque CVE critique pour demontrer leur conformite lors des controles ANSSI.

Ne laissez pas vos serveurs LLM devenir le maillon faible

La CVE-2026-5760 demontre que les infrastructures d inference IA sont des cibles de choix pour les attaquants. WebGuard Agency audite votre stack LLM, vos modeles GGUF et vos endpoints d API d inference. Audit specialise IA + rapport de conformite NIS2 en 5 jours.

Planifier un audit securite IA →

🛡️ Audit de sécurité gratuit — réponse en 24h, sans engagement

Obtenir mon audit gratuit →