Un simple lien de conversation ChatGPT partagé pouvait servir à exécuter du code malveillant dans la session d’un utilisateur, et à lire ses discussions privées. La société de sécurité Parameter a détaillé la faille, selon The Hacker News. OpenAI l’a corrigée le 26 octobre.
La faille venait de MathLive, une bibliothèque libre de saisie de formules mathématiques utilisée par ChatGPT pour afficher des graphiques interactifs. Parameter a signalé le problème le 18 octobre, et OpenAI l’a classé en priorité P1 et récompensé de 5 000 dollars.
Les sources consultées ne font pas état d’une exploitation réelle. Le détail technique vient de l’analyse des chercheurs et n’a pas été vérifié par nos soins.
Comment la faille fonctionnait ?
Lorsqu’on ouvrait une conversation partagée contenant un graphique interactif, ChatGPT chargeait MathLive dans la page principale. Un écouteur de messages de cette bibliothèque acceptait des messages de n’importe quel expéditeur, y compris du code HTML brut, d’après l’analyse reprise par DEV Community.
Le code HTML injecté créait un cadre sans isolation, que le navigateur considérait comme faisant partie de chatgpt.com. Les protections de ChatGPT contre l’exécution de scripts étrangers ont été contournées grâce à une adresse autorisée de YouTube. Le code pouvait alors lister les conversations récentes de la victime, ouvrir une discussion privée jamais partagée et en envoyer une partie vers un serveur des chercheurs.
Dans la première version de l’attaque, la victime devait ouvrir le lien et cliquer une fois sur « Aperçu ». Une variante ultérieure fonctionnait dès l’ouverture du lien.
Le correctif
OpenAI a corrigé la faille huit jours après le signalement. MathLive a publié le 31 octobre la version 0.111.2, qui vérifie par défaut l’origine des messages. Les développeurs qui utilisent cette bibliothèque peuvent contrôler leur version avec la commande npm ls mathlive. Les utilisateurs de ChatGPT n’ont, eux, aucune mise à jour à installer.
Bonnes pratiques pour partager une conversation
Même corrigée, cette affaire rappelle qu’un lien partagé n’est pas un simple texte. Évitez d’ouvrir des liens de conversation envoyés par des inconnus, comme vous le feriez pour un fichier joint, surtout s’ils proposent des graphiques interactifs.
Avant de partager vos propres conversations, relisez-les : nom, adresse, documents professionnels ou clés d’accès n’ont rien à y faire. Les liens partagés restent actifs tant qu’on ne les supprime pas. Il est donc utile de faire le tri de temps en temps dans les paramètres de ChatGPT, rubrique de gestion des données, où l’on peut retirer les liens devenus inutiles.
La question de la sécurité des assistants IA dépasse ce cas. Nous avons déjà raconté comment un agent d’OpenAI avait utilisé le portefeuille crypto d’un tiers sans autorisation.
Reste à savoir si d’autres bibliothèques sont exposées
Reste à savoir si d’autres composants chargés dans la page principale de ChatGPT présentent le même défaut, et si OpenAI renforcera l’isolation des contenus partagés. Cet article sera complété si de nouveaux détails sont publiés.