Une vulnérabilité dans la gestion des aperçus HTML de ChatGPT permettait d’exécuter du JavaScript et de récupérer des données privées d’utilisateurs via une simple URL de partage. OpenAI a corrigé la faille et versé 5 000 $ à Parameter Labs, qui juge la récompense modeste au vu de la gravité du bug. L’attaque exploitait notamment MathLive et un contournement via l’oEmbed de YouTube malgré une politique CSP restrictive.
OpenAI corrige l’exécution de code et paie 5 000 $
OpenAI a corrigé la vulnérabilité signalée dans ChatGPT. Parameter Labs, à l’origine de la découverte, a reçu une récompense de 5 000 dollars. Avant la correction, l’exploitation de la faille permettait d’exécuter du JavaScript dans ChatGPT, ce qui rendait possible la récupération de données privées d’utilisateurs via les API et leur exfiltration à l’aide d’une référence d’image. Une URL de partage ChatGPT pouvait, si elle était ouverte par un utilisateur connecté, permettre l’exfiltration de ses données ou l’exécution d’actions à sa place. Parameter Labs estime que la prime attribuée est faible au regard de la gravité de la vulnérabilité.
Vous voulez les meilleurs outils IA avant les autres ?
On teste et on décrypte les nouveaux outils IA chaque soir, en 5 min. Gratuit.
Inclus dès l'inscription : notre sélection des meilleurs guides & comparatifs IA.
Choisissez votre rythme
Gratuit · Pas de spam · Désabonnement en 1 clic
Chaîne d’attaque : MathLive, postMessage, innerHTML et YouTube
La vulnérabilité tirait parti de la bibliothèque JavaScript MathLive, dont OpenAI se sert pour la gestion graphique. MathLive propose un clavier virtuel qui peut être activé dans la page parente à l’aide de postMessage() envoyé depuis un iframe sandboxé. Le code chargé de traiter ces messages utilisait innerHTML, ce qui autorisait l’expéditeur à insérer du HTML personnalisé dans la page parente, sans dispositif pour empêcher d’autres iframes sandboxées, y compris celles des aperçus HTML, d’exploiter cette fonctionnalité. Même si innerHTML n’exécute pas directement les scripts, il pouvait servir à injecter un nouvel iframe sans restrictions de sandbox. La politique CSP d’OpenAI interdisait les scripts en ligne et limitait les scripts externes à quelques domaines, dont YouTube. Le point de terminaison oEmbed de YouTube pouvait alors être utilisé pour renvoyer du JavaScript exécutable, permettant ainsi l’exécution de code sur la page ChatGPT.
Fonction visée et rôle du sandbox des aperçus HTML
L’attaque ciblait l’implémentation des aperçus HTML de ChatGPT, une fonctionnalité qui affiche des applications HTML interactives dans un iframe sandboxé. Cette fonctionnalité, auparavant appelée Canvas, est désignée dans sa dernière version comme aperçus HTML. Le sandbox des iframes vise à empêcher que du code non fiable puisse interagir avec les API d’OpenAI ou accéder à des données privées. Parameter Labs a découvert une chaîne d’exploitation permettant de contourner cet isolement.






