Une faille dans Starlette, un framework Python que la plupart des développeurs n’ont jamais installé consciemment, a exposé des millions de serveurs d’agents IA à des accès non autorisés. Des boîtes mail, des bases de données médicales et des équipements industriels étaient accessibles sans mot de passe.

Elle porte le doux nom de CVE-2026-48710, surnommée « BadHost » pour les intimes.

Cette faille de sécurité réside dans Starlette, un framework Python open source téléchargé 325 millions de fois par semaine selon son concepteur.

La plupart de ses utilisateurs n’ont jamais entendu son nom, et c’est précisément le problème. Starlette est la fondation sur laquelle reposent FastAPI, vLLM, LiteLLM et une grande partie de l’infrastructure IA moderne en Python. Des milliers de projets l’embarquent sans que leurs développeurs en aient nécessairement conscience.

Ce sont les équipes de X-41DSec qui ont mis la main sur cette vulnérabilité en janvier dernier, lors d’un audit de code source sans rapport direct avec le sujet. Le patch correctif a quant à lui été publié le 22 mai 2026.

démonstration minimale qui prouve qu'une vulnérabilité est réellement exploitable // Source : X-41DSec
Extrait de la PoC partagée par les équipes de X-41DSec, démonstration minimale qui prouve que la vulnérabilité est réellement exploitable. // Source : X-41DSec

Des serveurs MCP dans le viseur

Ce qui rend la situation particulièrement sérieuse, c’est la nature de ce qui est exposé. Les serveurs MCP, pour Model Context Protocol, sont les passerelles qui permettent aux agents IA des grands fournisseurs d’accéder à des ressources externes : boîtes mail, bases de données, calendriers, APIs tierces. Pour fonctionner, ils stockent les credentials d’accès à tous ces systèmes. Autrement dit, compromettre un serveur MCP, c’est potentiellement accéder à tout ce à quoi l’agent est connecté.

Selon X41 D-Sec, qui a conduit un scan des systèmes en production, les données exposées couvrent un spectre alarmant : des bases de données d’essais cliniques et des informations de fusions-acquisitions dans le secteur biopharma, des boîtes mail accessibles en lecture, envoi et suppression, des données biométriques chez des sociétés de vérification d’identité, un accès SSH à des équipements industriels pouvant mener à de l’exécution de code à distance, ou encore des pipelines de recrutement contenant des données personnelles de candidats.

Des systèmes réels, en production, accessibles via un header HTTP malformé.

Comment ça marche ?

Le mécanisme est simple à saisir. Starlette reconstruit l’URL d’une requête à partir du header HTTP Host envoyé par le client, sans jamais valider que ce header contient une valeur légitime. Un attaquant peut donc y injecter un chemin supplémentaire qui va « tromper » le système d’authentification : celui-ci croit que la requête pointe vers une ressource autorisée, alors qu’elle cible en réalité une route protégée. Le routeur, lui, voit le bon chemin. Les deux composants interprètent la même requête différemment, et c’est dans cet écart que réside la vulnérabilité.

Résultat : pas de mot de passe requis, pas d’action de la victime nécessaire. La faille fonctionne contre la majorité des systèmes qui ne sont pas derrière un pare-feu correctement configuré.

Un patch disponible, mais des systèmes encore exposés

Starlette 1.0.1, publié vendredi 22 mai, corrige la faille. BadHost affecte toutes les versions antérieures à celle-ci. Le score de sévérité officiel est de 7/10, une notation que les chercheurs de Secwest jugent sous-estimée au regard de la place de Starlette dans l’écosystème IA. X41 D-Sec parle de sévérité critique.

Pour les équipes qui utilisent FastAPI, vLLM ou LiteLLM, la mise à jour de Starlette est la première étape. La seconde est de vérifier l’ensemble de la chaîne de dépendances : un projet peut embarquer Starlette de façon transitive sans que personne ne l’ait explicitement installé. X41 D-Sec et Nemesis ont mis en ligne un scanner public permettant de tester si un serveur est toujours vulnérable.

une comparateur meilleur gestionnaire mdp numerama

Vous avez lu 0 articles sur Numerama ce mois-ci

Il y a une bonne raison de ne pas s'abonner à

Tout le monde n'a pas les moyens de payer pour l'information.
C'est pourquoi nous maintenons notre journalisme ouvert à tous.

Mais si vous le pouvez,
voici trois bonnes raisons de soutenir notre travail :

  • 1 Numerama+ contribue à offrir une expérience gratuite à tous les lecteurs de Numerama.
  • 2 Vous profiterez d'une lecture sans publicité, de nombreuses fonctions avancées de lecture et des contenus exclusifs.
  • 3 Aider Numerama dans sa mission : comprendre le présent pour anticiper l'avenir.

Si vous croyez en un web gratuit et à une information de qualité accessible au plus grand nombre, rejoignez Numerama+.

S'abonner à Numerama+
Toute l'actu tech en un clien d'oeil

Toute l'actu tech en un clin d'œil

Ajoutez Numerama à votre écran d'accueil et restez connectés au futur !


Tous nos articles sont aussi sur notre profil Google : suivez-nous pour ne rien manquer !