Les points de terminaison concernés sont :
POST /mcp-rest/test/connectionPOST /mcp-rest/test/tools/listCes deux URL acceptent dans le corps de la requête JSON une configuration complète de serveur MCP, y compris les champs Cmd, args et env utilisés par le transport stdio pour lancer des processus serveur . Quand un utilisateur authentifié appelle l'un de ces points de terminaison, LiteLLM exécute la commande fournie comme un sous-processus sur la machine hôte, avec les mêmes privilèges que le processus du proxy LiteLLM lui-même
.
À l'origine, BerriAI (l'éditeur de LiteLLM) avait divulgué cela comme une faille d'exécution de code à distance « authentifiée » : un attaquant avait besoin d'une clé API valide pour atteindre ces points de terminaison, sans autre vérification de rôle. N'importe quel utilisateur interne, même avec des privilèges faibles, pouvait exécuter des commandes arbitraires sur le serveur . Mais l'histoire ne s'arrête pas là.
La seconde vulnérabilité est CVE-2026-48710, surnommée « BadHost » par les chercheurs. Il s'agit d'une faille de validation de l'en-tête HTTP Host dans Starlette, le framework ASGI léger sur lequel reposent FastAPI, vLLM et des milliers d'autres applications web Python – dont LiteLLM . Toutes les versions de Starlette depuis la 0.8.3 jusqu'à la 1.0.0 sont concernées
.
La cause racine est un désaccord d'interprétation entre la façon dont Starlette route les requêtes entrantes et celle dont il reconstruit l'URL pour la logique applicative . La couche de routage ASGI utilise le chemin HTTP brut pour décider quel point de terminaison est visé. Cependant,
request.url – l'URL que voient le middleware et les décorateurs d'authentification – est reconstruite en concaténant l'en-tête Host brut avec le chemin de la requête, sans validation appropriée .
En injectant des caractères délimiteurs comme ? ou # dans l'en-tête Host, un attaquant peut rendre request.url.path complètement différent du chemin réellement routé . Le middleware voit un chemin inoffensif comme
/, tandis que le routeur transmet la requête à la véritable cible en arrière-plan. N'importe quel middleware d'authentification basé sur le chemin et qui fait confiance à request.url.path peut ainsi être contourné sans effort .
Le décorateur d'authentification de LiteLLM vérifie request.url.path pour déterminer si une requête a besoin d'une clé API valide. Le contournement BadHost permet à un attaquant de manipuler cette URL pour que le middleware voie un chemin qui ne nécessite pas d'authentification, tandis que le routeur ASGI envoie simultanément la requête vers l'un des points de terminaison vulnérables d'injection de commandes MCP .
Cela supprime le seul contrôle d'accès qui se dressait entre Internet et l'exécution de commandes arbitraires. Un attaquant sans le moindre identifiant ni accès préalable au réseau peut envoyer une seule requête HTTP spécialement conçue qui contourne entièrement l'authentification et exécute des commandes système sur l'hôte du proxy LiteLLM . Horizon3.ai a confirmé que la chaîne complète fonctionne et lui a attribué un score CVSS combiné de 10.0 – la sévérité maximale – car elle permet une exécution de code à distance sans authentification
.
Une exploitation réussie donne à l'attaquant la possibilité d'exécuter des commandes avec les privilèges du processus du proxy LiteLLM. À partir de là, la surface de menace s'étend rapidement :
L'ajout de la CVE-2026-42271 au catalogue KEV par la CISA le 8 juin 2026 confirme que la vulnérabilité n'est pas théorique : des attaquants sont en train de l'exploiter activement . En vertu de la directive opérationnelle contraignante BOD 22-01, toutes les agences fédérales civiles américaines doivent appliquer les correctifs dans un délai imparti. La CISA recommande également vivement à toutes les organisations, publiques et privées, de traiter chaque ajout au catalogue KEV comme une priorité de correction d'urgence
.
La correction de l'exploit chaîné nécessite des mises à jour sur deux fronts, ainsi que plusieurs mesures de défense en profondeur pour traiter l'exposition des identifiants. Voici les étapes à suivre sans délai :
Host entrants par rapport à la spécification des URL et ignore ceux contenant des caractères invalides, neutralisant la confusion de chemin qui permet le contournement d'authentification POST /mcp-rest/test/connectionPOST /mcp-rest/test/tools/listHost manipulés La sévérité combinée de 10.0, l'exploitation active dans la nature et la désignation KEV par la CISA signifient que les organisations exécutant des services basés sur LiteLLM ou Starlette doivent traiter ceci comme une intervention d'urgence de type « patcher et révoquer ». La fenêtre entre l'exploitation active et le vol d'identifiants est d'ores et déjà ouverte.