Ett säkerhetsforskningsteam hittade ett sätt att ta över vilket ChatGPT-konto som helst genom att helt enkelt få offret att öppna en delad konversationslänk, enligt ett tekniskt avslöjande publicerat av Parameter Labs den 28 oktober. Företaget rapporterade att OpenAI fixade sårbarheten den 26 oktober och klassade rapporten som P1, dess högsta allvarlighetsgrad.
Upptäckten är ett sällsynt övertagande av konton mot en vanlig AI-plattform, och det landade när den senaste AI-utvecklingen fortsätter att visa hur mycket känsligt material människor nu har i chattapplikationer. Parameter Labs sa att attacken inte krävde någon appinstallation, inga utvecklarverktyg och ingen interaktion utöver att öppna angriparens delade ChatGPT-URL.
Hur attackkedjan fungerade
Kedjan missbrukade två vanliga ChatGPT-funktioner som såg harmlösa ut isolerat: en interaktiv graf och HTML Preview-sandlådan. ChatGPT:s förhandsgranskningsfunktion kör genererad HTML i en begränsad ram på en separat webbadress, vilket bör hindra den från att röra den inloggade chatgpt.com-sidan runt den.
Genombrottet kom från grafen, som laddade ett matematikbibliotek som heter MathLive. Det biblioteket installerade en meddelandeavlyssnare på huvudsidan för ChatGPT för sitt tangentbord på skärmen, men Parameter Labs fann att lyssnaren accepterade meddelanden från vilket ursprung som helst utan att verifiera avsändaren. En accepterad meddelandetyp skulle kunna ersätta den virtuella tangentbordslayouten med angriparkontrollerad HTML, som MathLive sedan infogade i den riktiga ChatGPT-sidan genom innerHTML.
Skript som infogas på det sättet körs normalt inte, så forskarna lade in sin nyttolast i en iframe med attributet srcdoc. Eftersom den huvudsakliga ChatGPT-sidan skapade den ramen utan en sandlåda, behandlade webbläsaren koden inuti den som äkta chatgpt.com-innehåll med åtkomst till den överordnade sidan.
Undviker innehållssäkerhetspolicyn
ChatGPT:s innehållssäkerhetspolicy blockerade fortfarande inline-skript, men Parameter Labs hittade en lucka: policyn tillät skript från YouTube. Forskarna upptäckte att YouTubes oEmbed-slutpunkt återspeglade en ogiltig JSONP-återuppringningsparameter i dess felsvar före validering, vilket lät dem lägga till körbart JavaScript till ett svar som webbläsaren gärna skulle ladda som ett skript.
Vid den tidpunkten hade teamet godtyckligt JavaScript igång med chatgpt.coms identitet i offrets inloggade session. Parameter Labs var tydlig om vad det betydde i praktiken: nyttolasten var inte begränsad till att ändra sidan eller visa en varning – den kunde direkt kalla ChatGPT:s autentiserade API:er som offer. Vid testning kunde nyttolasten räkna upp offrets konversationslista, hämta innehållet i privata konversationer som aldrig delades med angriparen och skicka dessa data till en extern server. Webbläsaren identifierade att varje åtgärd kom från chatgpt.com själv, vilket gav ett offer ingen synlig signal om att något var fel.
En länk räckte
Det som gjorde en forskningsbugg till ett praktiskt vapen var leverans. Forskarna lade in grafen och ett förhandsgranskningsbart HTML-block i en enda vanlig konversation, publicerade den med ChatGPT:s normala delningsfunktion och skickade den resulterande /share/-länken på samma vägar som alla skulle använda: e-post, chatt, en supportbiljett eller ett socialt inlägg.
I den mest stabila reproduktionen var offret tvungen att klicka på ChatGPT:s förhandsgranskningsknapp en gång efter att ha öppnat länken. En senare version markerade HTML-blocket som förhandsgranskningsbart, så ChatGPT öppnade det automatiskt och offrets enda nödvändiga åtgärd var att besöka webbadressen. Teamet reproducerade den helautomatiska sökvägen tre gånger på ett separat konto, inklusive efter en hård uppdatering, med nyttolasten avfyrade ungefär 4,5 sekunder efter att sidan laddades.
Eftersom grafen och förhandsgranskningen laddades oberoende av varandra, kunde nyttolasten ibland avfyras innan MathLive var redo. Den slutliga versionen försökte om sina meddelanden under en begränsad period för att hantera det loppet.
Avslöjande och fix
Parameter Labs rapporterade problemet till OpenAI, som skickade en fix den 26 oktober och betygsatte rapporten P1. Avslöjandet kommer mitt i en bredare serie säkerhetsforskning för AI-plattformar; tidigare i veckan rapporterade The Register buggar i fem AI-utvecklarverktyg, några fortfarande oparpade vid publicering.
Lektionen generaliserar bortom ett bibliotek. Moderna chattapplikationer består av tredjepartskomponenter, sandlådeförhandsvisningar och tillåtande meddelandekanaler på en enda autentiserad sida, och vilken som helst overifierad postMessage-mottagare kan bli bryggan mellan dem. För användarna är den praktiska vägledningen oförändrad från klassisk webbsäkerhet: behandla länkar till delade AI-konversationer som du behandlar alla andra oönskade länkar, eftersom plattformen inte längre kan lova att det är ofarligt att öppna en.
OpenAI:s P1-klassificering och snabba vändning tyder för sin del på att företaget behandlar webbläsarbaserade sessionsattacker på chatgpt.com som första-tier-hot. Incidenten är också en påminnelse om hur mycket värde som koncentreras på dessa konton nu när användare lagrar arbetsdokument, medicinska frågor och privata projekt i chatthistoriken - exakt det innehåll som Parameter Labs visade att en angripare kunde ha extraherat.
---
Stay ahead of AIFå de senaste AI-nyheterna, analyserna och genombrotten – allt på ett ställe.
Läs mer AI-nyheter →