Una vulnerabilità di Opera GX consentiva l’installazione silenziosa di mod e la fuga di dati dalle pagine

I ricercatori di sicurezza hanno divulgato una vulnerabilità in Opera GX, la versione del browser Opera dedicata al gaming, che poteva consentire a un sito Web dannoso di installare una mod senza l’ap...

I ricercatori di sicurezza hanno divulgato una vulnerabilità in Opera GX, la versione del browser Opera dedicata al gaming, che poteva consentire a un sito Web dannoso di installare una mod senza l’approvazione dell’utente e poi utilizzarla per estrarre informazioni selezionate dalle pagine visitate successivamente dalla vittima. In una dimostrazione proof-of-concept, i ricercatori sono riusciti a ricostruire l’indirizzo Gmail di un utente autenticato dopo una singola visita, senza che fosse necessario fare clic.

Opera ha già rilasciato una correzione nella versione 130.0.5847.89 di Opera GX. L’azienda ha dichiarato di non aver trovato prove di uno sfruttamento della vulnerabilità in natura. Gli utenti che eseguono la versione aggiornata sono protetti e la pagina interna about del browser può essere utilizzata per verificare la versione installata. Opera non ha assegnato un CVE alla vulnerabilità.

Come funzionava l’attacco

Opera GX supporta le “mod”, che modificano temi, suoni, sfondi e stile dei siti. Sebbene questi pacchetti siano distribuiti come file .crx, non sono estensioni complete e non eseguono JavaScript né richiedono autorizzazioni. Il problema riguardava il flusso di installazione: un sito Web poteva avviare automaticamente il download e l’attivazione di una mod, senza mostrare una richiesta di conferma. I ricercatori hanno dimostrato che ciò poteva essere fatto silenziosamente tramite un iframe nascosto che puntava al pacchetto della mod.

Una volta installato, il CSS di una mod viene applicato ampiamente alle pagine aperte dal browser. Ciò offriva agli aggressori un modo per utilizzare la cosiddetta iniezione CSS universale. Combinando i selettori di attributi CSS con richieste di immagini verso un server controllato dall’aggressore, la mod poteva verificare il contenuto delle pagine, un piccolo frammento alla volta, e dedurre valori sensibili carattere per carattere. Questa tecnica è una forma di XS-Leak, ovvero una fuga di dati cross-site.

Per dimostrare il funzionamento, i ricercatori hanno preso di mira una pagina dell’account Google che esponeva un indirizzo e-mail nel codice HTML. Hanno creato un ampio insieme di regole e poi utilizzato uno script per ricostruire il valore a partire dalle richieste attivate. Hanno inoltre rilevato un effetto collaterale distinto: il caricamento di un file .crx in modalità privata poteva causare il crash del browser ed esporre le schede aperte, anche in Opera nella versione standard, sebbene l’avviso di Opera si concentrasse sul problema del furto di dati.

Gravità e risposta

Il team di bug bounty di Opera aveva inizialmente valutato la segnalazione come meno grave, ma in seguito l’ha classificata come un problema della massima gravità e ha versato il premio massimo di 5.000 dollari. L’azienda ha dichiarato che l’attacco avrebbe richiesto alla vittima di visitare un sito dannoso e di rimanere sulla pagina abbastanza a lungo da consentire il completamento dell’installazione della mod e della catena di reindirizzamenti. I ricercatori hanno replicato che l’exploit poteva essere eseguito abbastanza rapidamente da agire prima che l’utente notasse l’avviso di rimozione del browser.

L’incidente evidenzia come una funzionalità pensata per la personalizzazione possa trasformarsi in un rischio di esposizione dei dati quando la sua portata si estende oltre la pagina originale. In questo caso, il solo CSS è stato sufficiente a creare un ampio canale di fuga una volta trasferito insieme al browser, invece di rimanere confinato a un singolo sito.