Alerte LiteLLM exposée : trois CVE critiques révèlent la fragilité de la confiance mutable

Auteur: Publié 6 min de lectura 149 lecture

Les images de cet article ont été générées par intelligence artificielle. Notre méthode de publication

La chaîne de défaillances rapportée par Obsidian Security contre LiteLLM est un rappel difficile de la façon dont les décisions de conception, les validations absentes et les points de contrôle uniques peuvent transformer un compte de faible privilège en un accès complet au serveur. LiteLLM sert de passerelle pour plus de 100 fournisseurs de modèles et, dans de nombreux déploiements, de processus invites, réponses et clés sensibles, donc l'exposition est proportionnellement grave: vol de clé fournisseur, cryptage d'identification sel, URL de base de données et capacité de modifier les réponses aux agents et utilisateurs.

La chaîne de route d'opération trois CVE critiques: CVE-2026-47101 vous permet de sauter l'autorisation en acceptant sans valider un champ caller-fourni / mis à jour; et CVE-2026-47217 est une fuite de bac à sable dans le garde-code personnalisé qui exécute le code Python avec exec (et finit par quitter _ import _ or _ import _ systems. Obsidian qualifie la chaîne complète dans CVSS 9.9, et BerriAI a publié l'ensemble complet des correctifs dans la version v1.83.14-stable, énuméré dans GitHub publié le 2 mai; la mise à jour de cette version ou plus tard est la première et la plus urgente action. Voir le dépôt officiel: GitHub - LiteLLM v1.83.14-stable et l'avis du chercheur sur le site de la sécurité pour le contexte général: Sécurité obsidienne.

Alerte LiteLLM exposée : trois CVE critiques révèlent la fragilité de la confiance mutable
Image générée avec IA.

Au-delà de l'explosion technique, la géométrie de l'attaque montre une leçon classique : confiance mutable en différentes couches. Le mandataire a accepté un itinéraire d'accès à la demande du client et le reste du code a supposé que cette porte de routage avait fait tout le filtrage. Cette confiance enchaînée est celle qui a permis un échec relativement simple dans la gestion des clés virtuelles pour devenir la commande de serveur à distance.

La conséquence opérationnelle est double et dangereuse. D'une part, un attaquant qui réalise la chaîne peut lire tout ce qui passe par la passerelle, y compris PII, les fragments de code et les secrets que les utilisateurs s'en tiennent aux invites. D'autre part, et peut-être plus subtil mais plus exploitable par des agents autonomes, l'agresseur peut modifier les réponses de transit et faire un agent ou un flux automatisé effectuer des actions malveillantes sans que le modèle soit manipulé par injection rapide: la passerelle peut forger des appels d'outils et réécrire le contexte de sécurité en utilisant des callbacks internes qui n'apparaissent pas dans l'UI.

Il y a aussi des vecteurs indépendants qui aggravent le risque : le support LiteLLM Model Context Protocol (MCP) permet à un proxy _ admin d'enregistrer des serveurs stdio locaux que le proxy lance sous forme de sous-processus - une décision de conception qui implique que have proxy _ admin role est, en pratique, équivalent à avoir la capacité d'exécuter du code sur la machine. Un CVE différent, CVE-2026-42271, a affecté l'aperçu de MCP et a déjà été observé dans les fonds réels et répertorié dans le catalogage CSA pour les vulnérabilités activement exploitées; il est intéressant de consulter dans le catalogue CSA connu: CISA KEV.

Qu'est-ce que les responsables de la sécurité doivent faire maintenant? La réponse commence par la mise à jour: stationnement à v1.83.14 ou supérieur immédiatement. Après l'application de la correction, il ne suffit pas de fermer le trou: il faut supposer que toute instance engagée aurait pu avoir accès aux clés et aux données en transit, de sorte que l'action suivante est un audit et une rotation des secrets.

Auditer et traiter le rôle mandataire _ administrateur comme un accès au niveau de l'hôte : revaloriser chaque compte avec ce rôle, fermer les comptes obsolètes et exiger une authentification forte et juste à temps chaque fois que possible. Vérifiez tous les codes personnalisés et recherchez des charges utiles suspectes; rappelez-vous que les callbacks déclarés en configuration (par exemple litellm _ settings.callbacks) n'apparaissent pas sur la console et sont un endroit logique où un attaquant post-exploitation cacherait la persistance ou les pièges. Vérifiez également l'intégrité du code affiché devant la source dans Git et signez les hachages de sortie: ne pas faire confiance seulement à la configuration.

Si vous soupçonnez un engagement, faites immédiatement pivoter toutes les clés du fournisseur (OpenAI, Anthropic, Gemini, Bedrock, Azure, etc.), changez les identifiants de base de données et les jetons MCP; considérez que les clés des fichiers de configuration ou des variables d'environnement auraient pu être lues en texte clair. Activer la détection des anomalies de log et de trafic : les pics de demandes aux paramètres administratifs, les changements dans les champs utilisateurs, la création de touches virtuelles avec de grands _ routs ou de nouveaux callbacks sont des indicateurs d'engagement.

Dans l'architecture opérationnelle et à moyen terme, repenser l'emplacement de ce type de passerelle critique et de son modèle de confiance : minimiser la quantité de données sensibles qui passent par un point unique, séparer les réseaux et les rôles, utiliser des gestionnaires secrets externes et chiffrés avec séparation des fonctions afin que la passerelle n'ait pas accès directement aux clés maîtresses sont des mesures qui réduisent le rayon d'explosion. De plus, les règles d'exécution de code (guarrails) devraient être conçues avec des modèles de sécurité par défaut, des filtres de niveau bytecode et pas seulement regex, et éviter exec direct () avec des globals incomplets.

Alerte LiteLLM exposée : trois CVE critiques révèlent la fragilité de la confiance mutable
Image générée avec IA.

Il est également temps d'examiner la chaîne d'approvisionnement et le processus de mise à jour: LiteLLM a déjà subi des tentatives de backdoor à PyPI en mars et une injection SQL a explosé en avril, ce qui montre que les projets d'infrastructure IA sont des cibles attrayantes. Signez et vérifiez les tarbales et les paquets, appliquez des scans unitaires et utilisez des politiques de blocage de version dans des environnements productifs.

Pour les agents d'exploitation des équipes ou les passerelles modèles, cet incident doit changer la matrice de menace : une passerelle engagée non seulement filtre les données, peut modifier la logique même qui règle les agents. Envisager des contrôles finaux dans le paramètre qui valide l'intégrité des réponses avant de mettre en oeuvre des mesures critiques, et maintenir une séparation claire entre les données sensibles et les prompts à accéder aux systèmes productifs.

En bref: mettre à jour la version parachevée, les rôles d'audit et les callbacks, enregistrer des secrets s'il y avait exposition et réévaluer l'architecture de confiance qui met un seul service au centre du trafic IA. L'échec n'est pas seulement technique : il s'agit d'une leçon opérationnelle sur la façon dont nous concevons et défendons les portes qui servent de médiateur entre les humains, les agents et les modèles.

Couverture

Autres

Plus de nouvelles sur le même sujet.