La prise de contrôle de comptes OpenAI : quand votre SSO transforme un bug de forum en incident Tier-0
Trois chercheurs sont entrés sur le forum d'aide d'OpenAI avec un fichier image en apparence inoffensif. Moins de 72 heures plus tard, ils contrôlaient les comptes ChatGPT et Codex de plusieurs collaborateurs d'OpenAI et avaient atteint un dépôt de code interne. Ils n'ont jamais deviné un mot de passe. Ils n'ont hameçonné personne. Ils ont simplement enchaîné deux failles qui, prises séparément, ressemblaient au problème de quelqu'un d'autre. C'est la partie sur laquelle tout fondateur et tout CTO devrait s'arrêter.
Ce qui s'est réellement passé
L'équipe de la société de sécurité Hacktron a signalé la chaîne elle-même, a prouvé l'accès par une pull request inoffensive, puis s'est arrêtée. OpenAI a publié un correctif environ 14 heures après le rapport et a versé une prime de 6 500 dollars le 1er septembre. C'était une recherche bonne et disciplinée, pas une attaque réelle. Mais la mécanique est un cours magistral sur le fonctionnement des chaînes d'intrusion modernes, et sa forme est quelque chose que vous pouvez tester dans votre propre environnement cette semaine.
La chaîne a commencé dans Discourse, le logiciel open source qui fait tourner le forum public d'OpenAI. Discourse transmet les images HEIC et HEIF téléversées à ImageMagick, qui utilise lui-même la bibliothèque libheif pour les décoder. Une faille dans libheif a permis à une image forgée de corrompre la mémoire du serveur du forum. De là, les chercheurs ont escaladé jusqu'à l'exécution de code sur l'hôte du forum.
Voilà le premier acte. Le second est celui où les choses deviennent inconfortables.
Une faille de forum ne devrait pas atteindre des comptes de collaborateurs
La raison pour laquelle une faille dans un forum public a atteint le personnel d'OpenAI n'a rien à voir avec le logiciel du forum. Le forum propose une option « Sign in with OpenAI », la même authentification unique que les équipes utilisent partout ailleurs. Une fois le serveur du forum contrôlé, cette connexion partagée a permis de prendre le contrôle des comptes ChatGPT et Codex des membres du forum qui travaillaient chez OpenAI. Les victimes n'ont rien fait de mal. Elles n'ont rien eu à cliquer.
Le diagnostic de Hacktron est direct : c'était un problème d'architecture d'identité, pas un problème de Discourse. Tout service interne ou tiers utilisant la même connexion aurait offert le même accès. Et comme les collaborateurs connectent des outils comme GitHub, Slack et l'e-mail à ChatGPT et Codex, le même accès aurait pu, en théorie, s'étendre plus loin. L'équipe indique ne pas avoir utilisé cet accès plus large, mais la porte était ouverte.
C'est la leçon à coller au-dessus de votre bureau : votre SSO n'est pas une fonction de confort. C'est votre périmètre d'impact.
Le correctif qui existait depuis mai, et l'image qui ne l'avait pas
Voici la partie douloureuse. La faille libheif a été corrigée en amont dans libheif 1.22.0 en mai 2026. La CVE était publique. Et pourtant, lorsque les chercheurs ont regardé en juillet, l'image serveur de Discourse, basée sur Debian 12, utilisait toujours libheif 1.19.7. Le correctif existait ; il n'était simplement pas arrivé dans la version packagée que la plateforme utilisait.
Ce n'est pas exotique. C'est le mode de défaillance silencieux et banal qui se cache aujourd'hui dans des milliers d'images de conteneurs : votre code applicatif est à jour, votre image de base ne l'est pas. Reconstruire à partir de l'image la plus récente n'est pas la même chose que lancer une mise à jour de l'interface web, et pour les instances auto-hébergées de Discourse, les versions corrigées sont 2026.7.0, 2026.6.1, 2026.5.2 et 2026.1.6. Les sites hébergés par Discourse étaient déjà corrigés. Si vous auto-hébergez, reconstruisez.
La conclusion n'est pas « corrigez plus vite ». Elle est « sachez ce qui se trouve réellement dans l'artefact que vous déployez », une question différente de celle à laquelle votre scanner répond sur le manifeste des paquets.
Ce que l'IA a changé ici
Les chercheurs ont utilisé l'IA pour la partie difficile. Claude Opus 4.8 échouait, au fil des sessions, à construire un exploit fonctionnel lorsque la randomisation de l'espace d'adressage (ASLR) était activée. Puis Anthropic a publié Claude Opus 5 le soir du 24 juillet et, dans une session fraîche, il a produit un exploit fonctionnel en quelques heures.
Opus 5 a été livré avec des garde-fous censés l'empêcher d'écrire du code d'exploit contre des cibles réelles. L'équipe les a contournés en pointant le modèle vers son propre serveur de test, déguisé en cible d'entraînement de type capture-the-flag, puis en le laissant tourner en boucle automatisée. Ils précisent qu'il ne s'agissait pas de hacking sans intervention : une direction humaine experte restait déterminante. Mais le saut, en une seule sortie de modèle, d'échecs répétés à un exploit fonctionnel en quelques heures, voilà le signal.
Le coût rapporté de la campagne plus large, que Hacktron appelle HEIF Heist, a été inférieur à 3 000 dollars d'usage d'IA sur environ deux mois. Cette campagne a cherché la même classe de failles de décodage d'images dans des logiciels utilisés par d'autres grandes entreprises, avec des liens non confirmés vers des bugs signalés dans Slack, des produits Meta, GitHub Enterprise et des frameworks comme Next.js. La faille Next.js est confirmée dans l'avis de Vercel, et les mainteneurs de libheif ont confirmé un exploit fonctionnel pour la faille liée à Meta ; les affirmations plus larges n'ont pas été vérifiées indépendamment. L'équipe indique aussi qu'une seule entreprise, Shopify, semble avoir remarqué l'activité, alors même que ses processeurs d'images plantaient à répétition sous des milliers de téléversements de test.
Trois questions à poser cette semaine
- Quels services tiers détiennent des autorisations de connexion sur vos comptes principaux ? Si un forum marketing, un portail de support ou un outil partenaire partage votre fournisseur d'identité, il se trouve à l'intérieur de votre frontière de confiance. Inventoriez-le, et traitez tout ce qui peut émettre une session pour un compte privilégié comme du Tier-0.
- Vos images déployées embarquent-elles des bibliothèques plus anciennes que leurs correctifs amont ? Scannez l'artefact en exécution, pas seulement le manifeste. Comparez ce qui est réellement installé avec les notes de version amont, et reconstruisez les images de base à un rythme aligné sur la vitesse de divulgation.
- Remarqueriez-vous une campagne en chaîne et discrète ? Shopify l'a remarquée parce que ses processeurs d'images tombaient. La plupart des équipes ne verraient rien. Une détection qui ne surveille que des signatures connues n'attrapera pas un chercheur (ni un attaquant) qui combine deux failles moyennes en une très mauvaise journée.
Rien de tout cela n'exige d'exploit héroïque. Cela exige de traiter l'identité comme une infrastructure, les artefacts comme non fiables jusqu'à preuve du contraire, et l'écart entre divulgation et exploitation comme une chose mesurée en heures, non en trimestres. La chaîne OpenAI a pris moins de 72 heures avec une poignée de personnes et un budget d'IA modeste. Supposez que la prochaine ira plus vite.