Falla in Microsoft Edge, a scoprirla Google

Google ha recentemente rivelato una falla abbastanza importante del browser web Microsoft Edge, nel contesto del programma di sicurezza Project Zero che ha l’impegno di individuare vulnerabilità 0-day all’interno dei prodotti software della società di Mountain View così come in quelli di altre aziende del panorama IT. Nel 2016 e nel 2017 erano state rivelate, proprio tramite Project Zero, due importanti vulnerabilità a carico del sistema operativo Windows 10.

A febbraio dello scorso anno Microsoft ha dichiarato di voler usare Arbitrary Code Guard in Microsoft Edge con l’aggiornamento Windows 10 Creators Update, allo scopo di mitigare le possibilità di esecuzione di codice arbitrario. Per fare ciò Microsoft è stata costretta a spostare, non senza qualche difficoltà, le funzionalità di compilazione JIT (just in time) dell’engine JavaScript Chakra in un processo separato eseguito in una sandbox isolata.

Il processo JIT che usa Microsoft ha il compito di compilare JavaScript in codice nativo, con la creazione di uno shared map object che viene mappato al content process e riservando una prozione di memoria. Quando le pagine devono essere scritte in memoria, JIT effettua una chiamata alla funzione VirtualAllocEx() per allocare la memoria dallo spazio riservato precedentemente.

Se il content process viene compromesso ed è in grado di prevedere l’indirizzo dove il processo JIT va a chiamare la funzione VirtualAllocEx() – e secondo i ricercatori Project Zero si tratta di una cosa piuttosto facile da fare – si apre uno scenario in cui usando la funzione UnmapViewOfFile() si può rimuovere la mappatura della memoria condivisa, allocare una regione di memoria scrivibile sullo stesso indirizzo su cui il JIT sta per scrivere e scrivere in questa regione un payload di prossima esecuzione. Nel momento il cui il processo JIT chiama la funzione VirtualAllocEx(), anche se la memoria è già allocata, la chiamata ha successo e la protezione di memoria muta su PAGE_EXECUTE_READ. In questo modo i ricercatori di Google Project Zero sono stati in grado di scavalcare il controllo Arbitrary Code Guard e creare una pagina eseguibile in memoria.

La gravità di questa vulnerabilità è considerata di livello medio ed è stata comunicata a Microsoft nel mese di novembre 2017. Google ha riconosciuto a Microsoft periodo di 90 giorni per risolvere il problema, e ha concesso un’estensione di 14 giorni sulla scadenza poiché la risoluzione del problema è risultata essere più complicata del previsto. Google ha reso pubblica la falla perché Microsoft non è riuscita a rispettare neanche questa deadline e non ha potuto inserire la patch correttiva all’interno degli aggiornamenti del Patch Tuesday di febbraio, promettendo comunque di non mancare l’appuntamento con il Patch Tuesday del prossimo mese in programma per il 13 marzo. (fonte)

You may also like...