HomeCybersecurityGedeelde ChatGPT-link kan in je sessie kwaadaardige code uitvoeren en je privégesprekken...

Gedeelde ChatGPT-link kan in je sessie kwaadaardige code uitvoeren en je privégesprekken lezen

Kwetsbaarheid / Webbeveiliging

Een kwaadaardige ChatGPT-deellink kon de code van een aanvaller uitvoeren in de aangemelde sessie van iedereen die de link opende, waardoor die aanvaller hun privégesprekken kon lezen, zo toonden onderzoekers van het beveiligingsbedrijf Parameter aan.

De onderzoekers meldden de kwetsbaarheid via het bugbounty-programma van OpenAI op 18 oktober. OpenAI repareerde de fout acht dagen later en kwalificeerde het als P1, de meest ernstige categorie.

De val bestond uit een gewone ChatGPT-conversatie die via de openbare share-link gedeeld was. Die link kon op dezelfde manier worden verzonden als elke echte gedeelde chat: per e-mail, als chatbericht, als supportticket of als bericht op sociale media.

Het slachtoffer hoefde niets te installeren, geen workspace te joinen of in te loggen via de aanvaller. In de meest betrouwbare versie van de aanval opende het slachtoffer de link en klikte eenmaal op de Voorbeeld-knop (Preview) van ChatGPT. In een latere versie zette Parameter de pagina zo op dat Preview automatisch openging, zodat het openen van de link de enige stap was.

Wat de aanvaller kon doen

Zodra de link geopend was, draaide de code van de aanvaller binnen de aangemelde sessie van het slachtoffer met dezelfde toegang als de echte ChatGPT-site. De code somde de recente gesprekken van het slachtoffer op, opende een privéchat die nooit met de aanvaller gedeeld was en stuurde een klein gedeelte ervan naar een server die door de onderzoekers werd gecontroleerd.

De code riep direct de ingelogde API’s van ChatGPT aan, in plaats van te kopiëren wat toevallig op het scherm stond. Omdat de code draaide met de volledige webtoegang van het slachtoffer, reikte de impact verder dan alleen die chats. “In wezen konden we elke actie uitvoeren namens het ChatGPT-account van het slachtoffer,” schreven de onderzoekers.

Het onderzoek was een gecontroleerde test. Parameter meldt geen gevallen van misbruik in het wild en voerde het bewijs van het uitlezen van een privéchat uit tussen gescheiden accounts in plaats van tegen echte gebruikers.

Hoe de link uit de sandbox ontsnapte

Zo werkte de keten, volgens Parameter. ChatGPT kan een blok HTML in een chat omzetten in een kleine webpagina via een functie genaamd Preview. Omdat die pagina arbitraire code kan bevatten, draait ChatGPT die in een geïsoleerd frame op een apart webadres, waar het die niet kan gebruiken om de hoofd-ChatGPT-pagina eromheen te lezen.

Die sandbox hield stand. De manier waarop de aanval binnenkwam zat in een tweede functie in dezelfde conversatie.

De gedeelde chat bevatte ook een interactieve grafiek, en het tekenen daarvan laadde een wiskundebibliotheek genaamd MathLive in de hoofd-ChatGPT-pagina. Het laden van MathLive liet een listener lopen die berichten accepteerde over het on-screen toetsenbord.

Een bericht dat tussen browserframes wordt doorgegeven is alleen veilig als de ontvanger controleert wie het heeft verzonden. Parameter ontdekte dat deze listener een toetsenbordbericht accepteerde van elke zender, en dat het bericht ruwe HTML mocht bevatten. De Preview kon daardoor de grens oversteken en kwaadaardige HTML aan de vertrouwde hoofdpagina overhandigen.

Die HTML bouwde een nieuw frame dat de browser als onderdeel van chatgpt.com behandelde. Een script geladen vanaf YouTube leverde vervolgens de code die erin draaide.

Het content securitybeleid (CSP) van ChatGPT beperkt van welke locaties de scripts op een pagina mogen komen. Het blokkeerde inline-code maar stond scripts van YouTube toe, en daarom werkte die stap.

Wat OpenAI heeft gefixt en wat gebruikers moeten doen

Parameter zei dat OpenAI zowel de code-executie als het bewijs dat privéchats uitleesbaar waren reproduceerde, de ernst verhoogde van P2 naar P1, en een fix uitrolde voor twee versies van de webfrontend van ChatGPT. Tegen 26 oktober wezen beide versies de berichten af waarop de aanval was gebaseerd.

De onderzoekers traceerden het probleem tot drie ontwerpkeuzes die samenkwamen:

  1. MathLive reageerde op een bericht dat zijn instellingen veranderde zonder te controleren welk frame het had verzonden.
  2. Dat bericht mocht ruwe HTML meedragen als toetsenbord-indelingsgegevens.
  3. De HTML kon een frame creëren dat niet gesandboxed was en de chatgpt.com-identiteit erfde.

De stap met YouTube was slechts de uiteindelijke workaround, niet de oorzaak. Alleen dat blokkeren zou nog steeds toelaten dat een niet-vertrouwde Preview HTML in de hoofdsite duwde.

ChatGPT-gebruikers hoeven niets te doen. De fix is aan de kant van OpenAI uitgerold; er is niets om te installeren of te resetten.

Parameter publiceerde zijn verslag op 28 oktober, na de fix. OpenAI betaalde in totaal $5.000 voor het rapport.

Nural Sevimov
Nural Sevimovhttps://itvandaag.be
Nural Sevimov is oprichter en eigenaar van Actiefhost. Sinds 2011 werkt hij dagelijks met Linux-servers, hostinginfrastructuur en softwareontwikkeling. Met jarenlange praktijkervaring combineert hij technische kennis met een passie voor betrouwbare, efficiënte en moderne hostingoplossingen.
GERELATEERDE ARTIKELEN

Meest populair

Recente reacties