OpenAI otklonio propust u deljenim ChatGPT linkovima

OpenAI je otklonio ranjivost najviše kategorije P1 u ChatGPT-u, koja je zlonamernom javno deljenom linku mogla da omogući izvršavanje koda u prijavljenoj sesiji posetioca i pristup njegovim privatnim razgovorima. Istraživači kompanije Parameter prijavili su problem 18. oktobra, OpenAI ga je ispravio osam dana kasnije, a za prijavu je isplaćeno ukupno 5.000 dolara.
Za uspešan napad bilo je dovoljno da korisnik otvori deljeni razgovor, a u pouzdanijoj varijanti i jednom aktivira dugme Preview. Parameter je kasnije pokazao i varijantu u kojoj se pregled otvara automatski, tako da je samo otvaranje linka predstavljalo potreban korak. Istraživači ne navode stvarnu zloupotrebu ranjivosti i dokaz su izveli između odvojenih naloga.
Kako je deljeni razgovor zaobišao izolaciju
ChatGPT funkcija Preview može HTML iz razgovora da prikaže kao malu veb-stranicu. Takav sadržaj se izvršava u izolovanom frejmu na odvojenoj adresi, što treba da ga spreči da čita glavnu stranicu ChatGPT-a. Prema nalazima Parameter-a, ta izolacija sama po sebi nije bila probijena.
Lanac je uključivao još jednu funkciju u istom razgovoru: interaktivni grafikon koji je učitavao biblioteku MathLive u glavnu ChatGPT stranicu. Biblioteka je ostavljala aktivan mehanizam za prijem poruka o tastaturi na ekranu, ali nije proveravala iz kog frejma poruka dolazi. Poruka je pritom mogla da nosi sirovi HTML kao podatak za raspored tastature.
Preview je tako mogao da prosledi HTML pouzdanoj glavnoj stranici. On je stvarao novi frejm koji je pregledač tretirao kao deo domena chatgpt.com, a skripta učitana sa YouTube-a obezbeđivala je izvršavanje koda. Politika bezbednosti sadržaja blokirala je ugrađene skripte, ali je dozvoljavala skripte sa YouTube-a. Parameter naglašava da YouTube nije uzrok propusta, već završni korak u lancu.
Posledice i primenjena ispravka
Kod je radio sa istim ovlašćenjima kao stvarni ChatGPT sajt u korisnikovoj prijavljenoj sesiji. U kontrolisanom testu mogao je da izlista nedavne razgovore, otvori privatni razgovor koji napadaču nije bio deljen i pošalje njegov manji deo na server istraživača. Pozivi su išli direktno ka prijavljenim ChatGPT API-jima, a ne preko sadržaja vidljivog na ekranu.
OpenAI je reprodukovao izvršavanje koda i dokaz pristupa privatnom razgovoru, zatim podigao ocenu ozbiljnosti sa P2 na P1. Ispravka je raspoređena kroz dve verzije veb-frontend-a ChatGPT-a; do 26. oktobra obe su odbijale poruke na kojima se napad zasnivao. Rešenje je uklonilo mogućnost da MathLive prihvati takve poruke bez provere pošiljaoca.
Korisnici ne treba da instaliraju ažuriranje niti da resetuju naloge, jer je popravka sprovedena na strani OpenAI-ja. Za poslovanje je važna pouka da javno deljeni AI razgovori mogu sadržati aktivne elemente: pristup takvim linkovima u prijavljenim sesijama treba urediti pravilima, a integracije u okviru iste stranice redovno proveravati zbog poverenja koje prenose između izolovanog i glavnog sadržaja.

