CyberJurnal

Știri · Analize · Securitate cibernetică

Un link ChatGPT putea citi conversațiile private ale utilizatorilor

O vulnerabilitate reparată de OpenAI permitea unui link de conversație distribuit public să execute cod în sesiunea ChatGPT a celui care îl deschidea și să acceseze discuții private. Cercetătorii spun că exploitul a fost testat controlat, fără dovezi privind utilizarea sa în atacuri reale.

Oprican Marius Edward4 min citire
Distribuie
XLinkedInFacebookWhatsAppTelegram
Un link ChatGPT putea citi conversațiile private ale utilizatorilor
Sursă foto: AI

Un link aparent obișnuit către o conversație ChatGPT putea deveni o cale de acces la discuțiile private ale persoanei care îl deschidea. Cercetătorii firmei de securitate Parameter au demonstrat că atacul putea executa cod în sesiunea autentificată a victimei, fără instalarea vreunui program și fără ca aceasta să se conecteze printr-un cont controlat de atacator.

Capcana putea fi distribuită la fel ca orice conversație partajată public: prin e-mail, mesaj, tichet de asistență sau postare pe rețelele sociale. În varianta testată inițial, victima trebuia să deschidă linkul și să apese o singură dată butonul Preview din ChatGPT; ulterior, Parameter a configurat pagina astfel încât Preview să se deschidă automat, reducând interacțiunea necesară la accesarea linkului.

Odată pornit, codul atacatorului opera în sesiunea ChatGPT deja autentificată și beneficia de accesul disponibil site-ului în browser. Cercetătorii au demonstrat că putea enumera conversațiile recente, deschide o discuție privată care nu fusese partajată cu atacatorul și trimite o mică parte din conținut către un server aflat sub controlul lor.

Accesul nu se limita la copierea informațiilor afișate pe ecran. Codul apela direct API-urile ChatGPT pentru utilizatori autentificați, iar cercetătorii au avertizat că, în esență, puteau efectua orice acțiune în numele victimei în contul ChatGPT.

Demonstrația a fost un test controlat, realizat între conturi separate; Parameter nu a raportat folosirea vulnerabilității împotriva unor utilizatori reali.

Cum a traversat codul limita dintre Preview și ChatGPT

Funcția Preview poate transforma un bloc HTML dintr-o conversație într-o pagină web interactivă. Pentru a izola acel conținut, ChatGPT îl rulează într-un cadru restricționat, găzduit la o adresă web separată, astfel încât codul din Preview să nu poată citi direct pagina principală ChatGPT.

Izolarea respectivă nu a fost spartă direct. Conversația partajată includea și un grafic interactiv, iar afișarea acestuia încărca în pagina principală a ChatGPT biblioteca matematică MathLive, care lăsa activ un listener pentru mesaje despre tastatura virtuală.

Problema era că listenerul nu verifica de la ce cadru provenea mesajul primit. Mai mult, mesajul putea conține HTML brut, ceea ce i-a permis conținutului din Preview să trimită HTML către pagina principală de încredere, trecând astfel de limita dintre cele două zone.

HTML-ul transmis crea un cadru nou, pe care browserul îl trata ca parte a domeniului chatgpt.com. Apoi, un script încărcat de pe YouTube furniza codul executat în acel cadru.

Politica de securitate a conținutului (CSP) a ChatGPT bloca scripturile inline, dar permitea scripturi provenite de la YouTube, iar această excepție a făcut posibil ultimul pas al lanțului.

Trei decizii tehnice au făcut posibil atacul

Parameter a identificat trei elemente care, împreună, au transformat o funcție aparent izolată într-o cale de execuție. MathLive procesa un mesaj care îi modifica setările fără să verifice cadrul expeditor, mesajul accepta HTML brut ca date pentru configurația tastaturii, iar HTML-ul putea crea un cadru nesandboxat care moștenea identitatea chatgpt.com.

Încărcarea scriptului de pe YouTube a fost doar o metodă de a finaliza execuția, nu cauza vulnerabilității. Cercetătorii au subliniat că blocarea acelei surse, de una singură, nu ar fi rezolvat problema fundamentală: conținutul neîncredere din Preview putea în continuare să trimită HTML către site-ul principal.

Această distincție contează pentru evaluarea remedierii: lanțul nu depindea doar de o sursă de script permisă de politica CSP. Riscul provenea din combinarea verificării insuficiente a mesajelor între cadre cu acceptarea HTML-ului și crearea unui cadru care avea identitatea domeniului de încredere.

OpenAI a aplicat remedierea, iar utilizatorii nu au pași de urmat

Cercetătorii au raportat vulnerabilitatea prin programul de recompense pentru buguri al OpenAI pe 18 octombrie. Potrivit Parameter, compania a reprodus atât execuția de cod, cât și demonstrația de accesare a conversațiilor private, a ridicat evaluarea severității de la P2 la P1 și a distribuit o remediere pentru două versiuni ale interfeței web ChatGPT.

La 26 octombrie, ambele versiuni respingeau mesajele folosite în atac. Parameter și-a publicat analiza pe 28 octombrie, după implementarea remedierii, iar OpenAI a plătit în total 5.000 de dolari pentru raportarea vulnerabilității.

Utilizatorii nu trebuie să instaleze o actualizare sau să-și reseteze conturile: remedierea a fost aplicată de OpenAI, pe partea serviciului. Materialul publicat de cercetători nu indică utilizarea exploitului în lumea reală, dar demonstrația arată cât de mult poate conta verificarea atentă a mesajelor între cadre atunci când funcțiile web rulează în aceeași sesiune autentificată.

Sursă: The Hacker News

openaichatgptsecuritate ciberneticăvulnerabilitateconfidențialitate

Comentarii (0)

    Autentifică-te pentru a comenta.

    Citește și