Abstracte illustratie op een donker marineblauw vlak: links staat één klein pictogram van een afbeeldingsbestand, verbonden door een dun lichtspoor met een doorschijnende stapel serverpanelen, en van daaruit loopt een tweede spoor door een gloeiende ring naar een cluster van bleke accounttegels. Er verschijnen geen tekst, geen personen en geen organisatielogo's. Het OrcaRouter-logo is samengevoegd in de rechteronderhoek.
AI Safety Incidents

Onderzoekers gebruikten Claude om de interne systemen van OpenAI te hacken in een bugbounty-keten

Auteur

Magnus Corvin

Publicatiedatum

Nieuwste modellen · 20Bekijk alle modellen →
Benchmarks: Artificial Analysis · dagelijks bijgewerkt
Terug naar alle berichten

Op 25 juli 2026 gebruikte een driekoppig team bij het beveiligingsbedrijf Hacktron AI Anthropics Claude Opus 5 om twee kwetsbaarheden aan elkaar te koppelen en ChatGPT- en Codex-accounts van OpenAI-medewerkers over te nemen, en gebruikte vervolgens een van die accounts om een pull request te openen in OpenAI's interne broncode-repository. Het toegangspunt was geen inlogpagina of API-sleutel: het was een afbeeldingupload op OpenAI's openbare helpforum, community.openai.com, dat draait op de opensourceforumsoftware Discourse. De tweede kwetsbaarheid zat in OpenAI's eigen gedeelde single sign-on, niet in het forum. Er is geen broncode gelezen, niets samengevoegd, geen klantgegevens aangeraakt, en het archief vermeldt geen schade in de echte wereld — dit was beveiligingsonderzoek dat aan de leverancier is gemeld, geen aanval erop. Het record is gedateerd op 18 september 2026, de dag waarop TechCrunch de bevinding rapporteerde. Dit incident staat naast de andere gedocumenteerde vermeldingen in het Orca AI Incident Archive, waarbij elke vermelding zijn eigen bronnen, ernst, betrouwbaarheidsgraad en betwistingsmarkering heeft.

Twee dingen maken van deze zaak meer dan een kleurrijk bug-bountyverhaal. Het eerste is de snelheid: Hacktron zegt dat het hele traject van de eerste blik op het forum tot het in handen hebben van toegang tot de interne repository minder dan 72 uur duurde, en dat het model waarmee het begon de klus niet aankon. Het tweede is een discrepantie die de kopcijfers verbergen: de CVE die in de berichtgeving wordt genoemd, CVE-2026-32882, staat geregistreerd als een out-of-bounds read die software laat crashen of geheugen lekt, niet als een code-executiekwetsbaarheid. Discourse kwalificeert de uitkomst in zijn eigen advies als remote code execution. Beide zijn waar, en de kloof daartussen is precies waar de bijdrage van de AI zit.

Wat Hacktron zegt te hebben gevonden, en wanneer

Hacktron publiceerde zijn verslag, "Hacking OpenAI", op 13 september 2026 op zijn eigen site. The Wall Street Journal berichtte er op de avond van donderdag 17 september over, volgens TechCrunch, dat op vrijdag 18 september volgde. De beschreven gebeurtenissen vonden ongeveer acht weken eerder plaats, en Hacktrons eigen tijdlijn is daar precies over:

• 23 juli 2026 — het team volgt het HEIF-uploadpad van Discourse via ImageMagick naar libheif en vindt de heap-overflow.

• 24 juli 2026 — Claude Opus 4.8 produceert een werkend exploit voor code-uitvoering, terwijl ASLR, de standaardverdediging met adresrandomisatie, uitgeschakeld is.

• 25 juli 2026, 06:00 UTC — met een later model bevestigt het team betrouwbare lokale code-uitvoering via een afbeeldingsupload met ASLR ingeschakeld.

• 25 juli 2026, 08:00–10:00 UTC — het team dient via OpenAI's bug bounty-programma op Bugcrowd een rapport in.

• 25 juli 2026, 10:00 UTC — de exploit werkt tegen de eigen Discourse Cloud-instantie van het team en vervolgens tegen het forum van OpenAI.

• 25 juli 2026, 13:30–15:30 UTC — het team gebruikt het Codex-account van een OpenAI-medewerker om een onschadelijke pull request te openen in OpenAI's interne monorepo, en stopt vervolgens met testen.

• 25 juli 2026, 22:49:45 UTC — OpenAI antwoordt met de bevestiging dat het probleem is opgelost, ongeveer 14 uur na de oorspronkelijke melding.

• 28 juli 2026 — Discourse publiceert advies GHSA-vhm9-85gw-x335 met richtlijnen voor het patchen en opnieuw bouwen.

1 september 2026 — OpenAI betaalt een bounty van $6,500 uit en markeert het rapport als opgelost.

HTML timeline card titled 'From first look at the forum to a $6,500 bounty', subtitled 'All times UTC - dates and times as Hacktron's own write-up records them'. Ten rows read: 23 July 2026, Discourse HEIF upload path traced through ImageMagick to libheif; 24 July 2026, Claude Opus 4.8 working exploit with ASLR disabled; 24 July evening, Anthropic releases Claude Opus 5; 25 July 06:00 UTC, reliable local code execution with ASLR enabled; 25 July 08:00-10:00 UTC, report filed via Bugcrowd, then HackerOne for Discourse; 25 July 10:00 UTC, code execution on community.openai.com; 25 July 13:30-15:30 UTC, proof-of-access pull request opened and testing stops; 25 July 22:49 UTC, OpenAI confirms the issue is fixed, about 14 hours later; 28 July 2026, Discourse advisory GHSA-vhm9-85gw-x335 published; 1 September 2026, OpenAI pays $6,500 and marks the report resolved. The footer cites Hacktron AI's write-up and the Discourse advisory, and notes the elapsed time to internal repository access was under 72 hours.

De bovenstaande datums zijn die van Hacktron, geen reconstructie. De publicatiedatum van 13 september op zijn eigen post, het artikel van 17 september in The Wall Street Journal en het verhaal van 18 september op TechCrunch vormen een aparte, latere reeks: het werk gebeurde in juli, het stuk verscheen medio september.

Hoe het uploaden van een afbeelding leidde tot een servercompromis

De keten begint met een alledaagse functie. Discourse controleert geüploade afbeeldingen normaal gesproken met een bibliotheek genaamd FastImage, maar FastImage ondersteunt geen HEIF, het containerformaat dat Apple-apparaten voor foto's gebruiken. Die bestanden werden daarom doorgegeven aan de commandoregeltool van ImageMagick voor conversie, die ze vervolgens aan libheif gaf om te decoderen. Daarmee stond er een parser rechtstreeks voor door aanvallers beheerde bestanden — precies het patroon dat de xkcd-strip over afhankelijkheden voor ogen heeft, waarnaar Hacktron in zijn referenties verwijst.

Hacktron ontdekte dat het libheif-pakket dat in de Docker-image van Discourse was geïnstalleerd, beveiligingsfixes miste. De image van Discourse was gebouwd op Debian 12, waarop libheif 1.19.7 werd geïnstalleerd; Debian 13 leverde destijds nog steeds 1.19.8. De bug zelf zit in HeifPixelImage::overlay(), dat een overlay-afbeelding op een basisafbeelding samenvoegt. Volgens het eigen beveiligingsadvies van libheif indexeert de functie, wanneer een overlay-child een andere bitdiepte heeft voor zijn alfakanaal dan voor zijn kleurkanalen, het alpha-vlak met de stride van het kleurkanaal in plaats van die van het alpha-vlak. Bij een afbeelding van 100 bij 50 met 10-bits kleur en 8-bits alpha berekent het advies dat de code 3.123 bytes voorbij het einde van een buffer van 7.168 bytes leest.

Dat levert een aanvaller gelekte heapgeheugen op, wat nuttig is om adresrandomisatie te omzeilen — op zichzelf nog geen shell. Van de leak naar uitvoering komen is het deel waarvoor een model nodig was, en dat is het deel dat de CVE niet beschrijft. De keten overschreed vervolgens een vertrouwensgrens die volgens Hacktron het echte verhaal is: OpenAI's forum biedt "Sign in with OpenAI" via auth.openai.com, dezelfde single sign-on die medewerkers elders gebruiken. Controle over de forumserver betekende dat de onderzoekers de ChatGPT- en Codex-accounts konden overnemen van forumleden die bij OpenAI werkten, zonder enige interactie van de slachtoffers. Zoals Hacktron het zegt: "de kwetsbaarheid om te escaleren is niet Discourse-specifiek," en elke first- of third-party OpenAI-dienst die die sign-on gebruikte, zou dezelfde toegang hebben verleend.

Vastgesteld, en afgeleid

Het archief beoordeelt dit record met vertrouwensniveau A, niet betwist, ernst hoog, zonder dat er werkelijke schade is geregistreerd. Die velden houden stand. Maar de rapportage is de weergave van één enkel onderzoeksteam, bevestigd in plaats van onafhankelijk gereconstrueerd, en het is de moeite waard om te scheiden wat gedocumenteerd is van wat beweerd wordt.

Vastgesteld op basis van primaire bronnen. CVE-2026-32882 bestaat, is gepubliceerd op 19 mei 2026, treft libheif 1.21.2 en eerder, en is opgelost in libheif 1.22.0. Het MITRE-record kent er 7.1 aan toe, met aanvalsvector netwerk, lage complexiteit, geen vereiste privileges, vereiste gebruikersinteractie, en gevolgen van lage vertrouwelijkheid en hoge beschikbaarheid — een crash of een geheugenlek. Het advies GHSA-vhm9-85gw-x335 van Discourse, gepubliceerd op 28 juli 2026 en toegeschreven aan hacktronai-research, volgt dezelfde CVE en beoordeelt de uitkomst als Hoog met 8.8, met lage vereiste privileges, geen gebruikersinteractie, en hoge impact op alle drie: vertrouwelijkheid, integriteit en beschikbaarheid. Het vermeldt gepatchte versies 2026.7.0, 2026.6.1, 2026.5.2 en 2026.1.6, en stelt dat de nieuwste Docker-image de gepatchte libheif bevat.

Bevestigd door twee onafhankelijke media. Dat de onderzoekers Claude gebruikten om de keten te vinden en te bewapenen, dat een compromittering van een forum leidde tot toegang tot een medewerkersaccount, dat OpenAI het binnen ongeveer 14 uur oploste en $6,500 betaalde, dat het bewijs van toegang een enkele pull request was, en dat OpenAI zegt dat het testen van het forum zelf buiten de reikwijdte van zijn bounty viel — dit alles staat in The Hacker News en TechCrunch, die beide rechtstreeks uit het verslag van Hacktron citeren.

Beweerd door Hacktron, niet onafhankelijk geverifieerd. Dat code-uitvoering op het forum überhaupt op de beschreven manier tot stand kwam — via een autonome agent-lus en een geproxiede testinstantie — berust op Hacktrons relaas en is niet door een derde partij gereproduceerd; The Hacker News zegt contact te hebben opgenomen met Hacktron met vragen over hoe de code-uitvoering op het forum tot stand kwam en over de reikwijdte van de accounttoegang, en meldt geen antwoorden te hebben ontvangen. De bewering dat dezelfde klasse fouten Slack, Meta, GitHub Enterprise en webframeworks bereikte, is volgens The Hacker News' eigen beoordeling "ongelijkmatig onderbouwd": een Next.js-fout is bevestigd in Vercel's advies en de maintainers van libheif bevestigden een werkend exploit voor de bug die aan Meta is gekoppeld, maar de bredere bewering van code-uitvoering bij veel applicaties is niet onafhankelijk bevestigd. OpenAI heeft helemaal geen technische beschrijving van de aanmeldingsfout gepubliceerd; het bevestigde de bevinding via de fix en de betaling in plaats van door de accountovernames te documenteren.

Helemaal niet vastgesteld. Hoeveel werknemersaccounts bereikbaar waren — The Hacker News zegt "verschillende", TechCrunch zegt "meerdere", en Hacktron geeft geen aantal. Of de kwetsbaarheid ooit door iemand anders is gebruikt: The Hacker News meldt geen tekenen van gebruik in de praktijk en merkt op dat de CVE medio september 2026 niet op de lijst van de Amerikaanse overheid stond van kwetsbaarheden waarvan bekend is dat ze worden misbruikt, met de waarschuwing dat de lijst in geen van beide richtingen bewijs vormt. En of organisaties die al gepatcht hadden nog steeds moeten zoeken naar eerdere toegang — The Hacker News zegt dat de bronnen daarover niets zeggen.

Wat de modellen deden, en wat de mensen deden.

De sprong in capaciteit is het deel dat Hacktron zelf benadrukt, en het is in zijn eigen woorden gedocumenteerd in plaats van afgeleid. Het team gebruikte eerst Claude Opus 4.8, in een build die beschikbaar was gesteld aan cybersecurityonderzoekers, om het geïnstalleerde libheif-pakket te inspecteren en een exploit te bouwen met ASLR uitgeschakeld. Met ASLR aan liep het in meerdere sessies vast. Anthropic bracht Claude Opus 5 uit op de avond van 24 juli 2026; in een nieuwe sessie produceerde het nieuwe model binnen ongeveer drie uur een werkende ARM64-exploit voor een lokale Mac, en tegen 06:00 de volgende ochtend was die overgezet naar de x86-64-configuratie die Discourse gebruikt.

Claude Opus 5 werd ook uitgebracht met veiligheidsmaatregelen tegen het schrijven van exploitcode voor echte doelwitten. Hacktron zegt dat het die heeft omzeild door het model te richten op zijn eigen Discourse Cloud-instantie, met een proxy via een host genaamd rce.ee/ctf-forum, zodat het doelwit op een capture-the-flag-oefening leek, en door het in een autonome doellus te laten draaien. Het team benadrukt expliciet dat dit geen onbeheerde hacking was: "deskundige menselijke sturing bleef belangrijk," schrijft het, terwijl de hoeveelheid werk die een klein team kon verrichten enorm toenam. In de bredere HEIF Heist-campagne zegt Hacktron OpenAI's GPT-5.6 Sol te hebben gebruikt voor gevallen waarin het vooraf niets over het doelwit wist.

De economische afweging is het argument dat Hacktron de lezer wil meegeven. In de bredere campagne – waarbij dezelfde klasse van fouten werd gevolgd via Slack, Meta, GitHub Enterprise, Ruby on Rails en de frameworks Next.js, Astro en Gatsby – zegt het dat twee maanden werk door drie onderzoekers minder dan $3.000 aan tokens kostte, waarbij het aanpassen aan elk nieuw doelwit één of twee dagen kostte. Het zegt ook dat het geen enkel bedrijf kent dat de activiteit heeft gedetecteerd, behalve Shopify, ondanks dat er duizenden testafbeeldingen zijn verzonden en beeldprocessors herhaaldelijk zijn gecrasht.

Wat is er daarna veranderd?

Discourse ontving het rapport op een zaterdag, antwoordde op zondag, had maandag een oplossing en publiceerde op 28 juli zijn advies, waarbij sandboxing voor beeldverwerking als defense-in-depth-maatregel werd toegevoegd. In het advies wordt self-hosters gewaarschuwd dat een update van alleen de webinterface mogelijk niet de onderliggende bibliotheek vervangt, en dat een volledige herbouw vanuit /var/discourse nodig is. Debian publiceerde op 8 augustus 2026 een beveiligingsupdate voor libheif in Debian 13, geregistreerd als DSA-6417-1. Aan upstream-zijde wijst Hacktron lezers op libheif 1.23.4 als de nieuwste beveiligingsrelease per 14 september 2026, en merkt op dat distributiepakketten backported fixes kunnen bevatten onder een ouder versienummer, dus zowel het pakketadvies als de upstream-versie moet worden gecontroleerd.

Voor OpenAI was de fix binnen ongeveer 14 uur na de melding op 25 juli doorgevoerd, en de bounty werd op 1 september uitbetaald. Het bedrijf voegde een verduidelijking van de scope toe aan de betaling: het testen tegen het door Discourse gehoste community.openai.com was expliciet uitgesloten van zijn bugbountyprogramma, en de beloning erkent de bevinding aan OpenAI-zijde, niet de acties tegen Discourse. Dat is het waard om aandachtig te lezen. De $6.500 is een betaling voor de sign-on-bevinding, niet voor de forumketen, en het forumwerk dat de keten mogelijk maakte, viel volgens OpenAI zelf buiten de scope.

Waarom de CVE niet overeenkomt met de kop

HTML comparison card titled 'Two advisories, two different severity scores', subtitled 'The library bug is an out-of-bounds read; the forum advisory scores the outcome as code execution'. Two columns compare CVE-2026-32882 and GHSA-vhm9-85gw-x335: published 19 May 2026 versus 28 July 2026; stated impact heap buffer out-of-bounds read versus remote code execution; CVSS base score 7.1 High versus 8.8 High; attack complexity low in both; privileges required none versus low; user interaction required versus none; confidentiality low versus high; integrity none versus high; availability high in both; fixed in libheif 1.22.0 versus Discourse 2026.7.0, 2026.6.1, 2026.5.2 and 2026.1.6. A footer cites the MITRE CVE record and the Discourse advisory.

De berichtgeving over deze zaak heeft de neiging twee verschillende ernstbeoordelingen tot één samen te voegen. Het libheif-advies en de CVE beschrijven een out-of-bounds read met een vertrouwelijkheidsimpact die als laag wordt beoordeeld en een beschikbaarheidsimpact die als hoog wordt beoordeeld: crashen of geheugen lekken. Het Discourse-advies beschrijft wat er gebeurde toen die read werd gecombineerd met exploitatieonderzoek en een tweede fout, en beoordeelt het als 8.8 met volledige impact in alle drie de categorieën. Geen van beide is onjuist; ze beantwoorden verschillende vragen. De CVE beantwoordt de vraag "hoe erg is de bug in de bibliotheek?" en het forumadvies beantwoordt de vraag "hoe erg is het probleem op het forum?"

De praktische consequentie is dat een lezer die CVE-feeds scant op een kritieke kwetsbaarheid voor remote code execution in libheif er hier geen zal vinden, en redelijkerwijs zou kunnen concluderen dat diegene niet getroffen is. Hacktrons eigen advies is het tegenovergestelde: elke dienst die door gebruikers aangeleverde HEIC-, HEIF- of AVIF-afbeeldingen accepteert en deze via een ongepatchte libheif decodeert, moet als blootgesteld worden beschouwd, en het versienummer alleen is geen voldoende controle, omdat backports onder verouderde versiestrings worden geschoven. De drie mitigerende maatregelen die het aanbeveelt, zijn: libheif en libde265 bijwerken via het beveiligingskanaal van de distributie of een actuele upstream-release; het decoderen van niet-vertrouwde HEIF- en AVIF-afbeeldingen uitschakelen waar dit niet nodig is, of beeldverwerking isoleren in een tijdelijke sandbox; en — degene die verder reikt dan afbeeldingsbibliotheken — beperken welke diensten een single sign-on vertrouwt en een nieuwe identiteitscontrole vereisen vóór gevoelige acties in plaats van een bestaande sessie te vertrouwen.

Abstract illustration on a deep navy field: a single softly glowing archway stands in the centre, with pale rounded application tiles floating behind it and connected to it by very thin light threads, while smaller dim blue hexagonal glyphs sit in front of it, separated by empty dark space. No text, no people and no organisation logos appear. The OrcaRouter logo is composited in the bottom-right corner.

Dat laatste punt is de overdraagbare bevinding. Het forum was niet de kwetsbaarheid; het was de deuropening. Een openbare dienst met minder vertrouwen die een identity provider deelde met interne tooling, betekende dat het doorbreken van het zwakste onderdeel in de omgeving toegang gaf tot het sterkst beveiligde. Niets in het verslag van Hacktron wijst erop dat OpenAI onzorgvuldig was geweest met het forum zelf — Discourse is volgens de eigen beoordeling van het team "eigenlijk geen gemakkelijk doelwit" — en dat is precies waarom deze zaak wordt aangehaald: de vertrouwensgrens, niet de bug, is wat heeft gefaald.

Vergeleken in dit artikel2

Herkend uit dit artikel · Benchmarks: Artificial Analysis · dagelijks bijgewerkt