LiteLLM Vulnerability Chain Lets Low-Privilege Users Take Over AI Gateway Servers
Mis à jour :
Vulnérabilité critique dans LiteLLM : Escalade de privilèges et exécution de code
Des chercheurs en sécurité ont identifié une chaîne de trois vulnérabilités critiques (CVSS 9.9) permettant à un utilisateur à faibles privilèges de prendre le contrôle total d’un serveur LiteLLM, une passerelle AI largement utilisée.
Points clés
- Risque majeur : Une fois le serveur compromis, l’attaquant accède à toutes les clés API (OpenAI, Anthropic, etc.), aux secrets de déchiffrement, aux logs complets (prompts et réponses) et peut intercepter/modifier les flux de données entre les agents IA et les modèles.
- Impact : La compromission permet une exécution de code arbitraire sur le serveur et potentiellement sur les machines des utilisateurs via l’injection de réponses frauduleuses.
Vulnérabilités exploitées
- CVE-2026-47101 (Contournement d’autorisation) : Un utilisateur peut générer une clé API personnalisée avec des routes illimitées (wildcard
/*), contournant les restrictions de rôle. - CVE-2026-47102 (Escalade de privilèges) : En exploitant le bypass précédent, l’utilisateur peut modifier son propre rôle en
proxy_adminvia l’endpoint/user/update. - CVE-2026-40217 (Évasion de sandbox) : La fonctionnalité “Custom Code Guardrail” utilise une fonction
exec()non sécurisée, permettant une injection de code Python et l’obtention d’un shell distant.
Recommandations
- Mise à jour immédiate : Passer à la version v1.83.14-stable ou supérieure.
- Audit de sécurité :
- Vérifier les comptes ayant les privilèges
proxy_admin. - Examiner les paramètres
litellm_settings.callbacksdansconfig.yamlpour détecter toute persistance malveillante invisible via l’interface d’administration. - Auditer les règles de “Custom Code Guardrail”.
- Vérifier les comptes ayant les privilèges
- Rotation des secrets : En cas de compromission suspectée, révoquer et renouveler immédiatement toutes les clés API des fournisseurs, les identifiants de base de données et les jetons OAuth/MCP stockés.
