Le monorepo d'OpenAI atteint via libheif et une faille SSO
Hacktron a reçu 6 500 dollars de prime après avoir enchaîné un dépassement de tas dans libheif et une faille d'identité pour atteindre le monorepo interne d'OpenAI.
3 min de lecture

En chiffres
- bounty OpenAI paid for the identity finding
- $6,500
- CVSS score of the Discourse vulnerability
- 8.8
- from first discovery to a pull request in the internal repo
- 72h
Trois chercheurs de Hacktron ont enchaîné deux failles d'apparence ordinaire jusqu'à accéder au dépôt de code interne d'OpenAI, puis ont publié leur méthode. La chaîne commence par un fichier image téléversé sur le forum d'aide public d'OpenAI. Elle se termine par une pull request ouverte dans le monorepo privé de l'entreprise, moins de 72 heures après le début du travail.
Aucune des deux failles n'était exotique. La première était un dépassement de tampon de tas dans libheif, la bibliothèque qui décode les images HEIF et HEIC, le format qu'un iPhone produit par défaut. La seconde était un réglage d'authentification unique qui faisait trop confiance au forum. L'article de Hacktron présente la combinaison comme la véritable découverte, et non l'une des deux moitiés.
Comment la chaîne a fonctionné
Le forum communautaire d'OpenAI tourne sous Discourse, une plateforme de discussion très répandue. Discourse transmettait les images téléversées à ImageMagick, qui appelait à son tour libheif. Sur le serveur concerné, sous Debian 12, libheif n'avait pas reçu un rétroportage de sécurité. Une image forgée suffisait donc à exécuter du code sur le forum.
La deuxième étape est celle qui transforme un problème de forum en problème d'entreprise. Le forum utilisait le système d'identité d'OpenAI pour la connexion, si bien qu'une session ouverte là-bas pesait ailleurs. "Tout utilisateur ou employé d'OpenAI se connectant au forum d'aide d'OpenAI (community.openai.com) aurait pu voir ses comptes ChatGPT et Codex pris en main", a écrit l'équipe de Hacktron.
Avec un compte d'employé sous leur contrôle, les chercheurs ont demandé à l'agent Codex de cet employé d'ouvrir une pull request dans le dépôt interne d'OpenAI. C'était la preuve, et ils se sont arrêtés là. VentureBeat a rapporté le 17 septembre 2026 que Hacktron traçait clairement la limite : "L'escalade de compte n'était pas une vulnérabilité de Discourse mais un problème d'identité chez OpenAI."
Chronologie et prime
| Événement | Détail |
|---|---|
| Découverte | 23 juillet 2026 |
| Du signalement au correctif confirmé | Environ 14 heures |
| Gravité de la faille Discourse | CVSS 8.8, corrigée le jour du signalement |
| Correctif d'identité confirmé chez OpenAI | 25 juillet 2026, 22h49 UTC |
| Prime | 6 500 dollars, versés via Bugcrowd |
Les attaques visant Discourse lui-même sortaient du périmètre du programme de primes d'OpenAI. Le versement couvrait la découverte liée à l'identité, celle qui pénétrait les systèmes propres d'OpenAI.
L'angle IA, énoncé avec prudence
Hacktron indique que le travail d'exploitation a été mené avec Claude Opus 5 d'Anthropic, publié le 24 juillet 2026, et qu'un modèle antérieur avait peiné sur la même tâche. L'équipe chiffre sa dépense totale en jetons à moins de 3 000 dollars. "Un travail qui exigeait autrefois une équipe bien dotée et des mois d'effort peut désormais être comprimé en quelques jours", écrit l'article.
Cette affirmation mérite la nuance que les chercheurs suggèrent eux-mêmes. Un modèle a raccourci l'étape d'écriture de l'exploit. Repérer une bibliothèque non corrigée sur un forum, et remarquer que ce forum partage un fournisseur d'identité avec des comptes de production, relève de la reconnaissance et du jugement. Tech AI Wire a déjà couvert des cas voisins, dont des agents OpenAI ayant attaqué RubyGems lors d'un test non divulgué.
Ce que cela signifie pour les développeurs
Auditez vos frontières de confiance avant vos dépendances. La question est simple : si quelqu'un prend le contrôle d'un compte sur votre propriété la moins importante, qu'est-ce que ce compte ouvre d'autre ? Un forum communautaire, une page d'état ou une boutique de goodies ne devraient pas partager un chemin de connexion avec la production. S'ils le font, le forum hérite du rayon d'impact de la production.
Vérifiez ensuite la version, pas le nom du paquet. La faille libheif était déjà connue et corrigée en amont ; l'exposition venait d'une image de distribution qui n'avait pas repris le rétroportage. Tout ce qui décode des médias non fiables sur vos serveurs appartient à un inventaire avec un responsable des correctifs, et le traitement d'images en particulier doit tourner en bac à sable ou dans un service séparé.
Enfin, traitez les identifiants d'agents comme des identifiants de production. Un assistant disposant d'un accès en écriture au dépôt est un compte capable de livrer du code, et il mérite la même revue, la même limitation de portée et le même chemin de révocation que le jeton d'un ingénieur humain. Cette histoire se termine par une pull request précisément parce que l'agent pouvait en ouvrir une.
Sources
Articles liés

GPT-6 Astra, premier modèle « Critical » cyber d'OpenAI
Astra a obtenu 100% sur ExploitBench et bâti une chaîne d'exploitation de navigateur en 29 heures. La version livrée refuse d'écrire des preuves de concept.

RubyGems attaqué en mai par des agents d'OpenAI, selon des chercheurs
Des chercheurs affirment que des agents d'OpenAI ont placé plus de 2 000 paquets malveillants sur RubyGems en mai, sans que personne prévienne les mainteneurs. OpenAI qualifie cela de bénin.

GPT-6 Astra obtient 95% sur une tâche robotique, 10% sur une autre
Robocurve a testé GPT-6 Astra et Claude Fable 5.1 sur de vrais bras robotisés. Astra a réussi 19 fois sur 20 la tâche facile, et 2 fois sur 20 la difficile.