Nelle ultime due settimane Google è dovuta correre urgentemente ai ripari per due distinte e nuove vulnerabilità 0-day di Chrome (in realtà sono vulnerabilità presenti nel sorgente chromium).
La prima vulnerabilità (pubblicata il 28 novembre sul National Vulnerability Database del NIST) è stata censita come CVE-2022-4135 con CVSS 9.6. Si tratta di una violazione dei limiti in scrittura della memoria del processo (CWE-787 – “Out-of-bounds Write”), comunemente nota come “buffer overflow dell’heap” nella componente GPU di Chrome.
Questa vulnerabilità consentirebbe ad un malintenzionato, che abbia compromesso il processo di rendering, di eseguire una evasione dalla sandbox tramite una pagina HTML appositamente creata.
Le conseguenze di un buffer overflow sono tipicamente l’arresto anomalo del software, ma anche la possibilità di porre il programma in un ciclo infinito: in ogni caso si raggiunge l’obiettivo di negazione del servizio (DoS), in questo caso negazione nell’uso del browser. Non è escluso che da un buffer overflow possano innescarsi meccanismi di esecuzione di codice arbitrario o evasione dai meccanismi di protezione esistenti, come nel caso descritto.
La seconda vulnerabilità (pubblicata il 5 dicembre sul National Vulnerability Database del NIST) è stata censita come CVE-2022-4262 con CVSS 8.8. Si tratta di una violazione indotta da un uso di tipi dati incompatibili (CWE-843 – “Accesso alla risorsa utilizzando un tipo incompatibile”), altrimenti nota come “confusione di tipi”, nel motore JavaScript V8 di Chrome. Il difetto di confusione sussiste quando un blocco di memoria viene utilizzato da un algoritmo diverso da quello che dovrebbe consumarlo.
La specifica vulnerabilità consente ad un malintenzionato remoto di sfruttare la corruzione dell’heap ancora una volta tramite una pagina HTML creata allo scopo. Una tale corruzione può portare a deviazioni deliberate del flusso di programma ed ottenere così l’esecuzione di codice arbitrario remoto (RCE) proveniente da una pagina non attendibile a dannosa.
La correttiva per la prima vulnerabilità è giunta con la versione 107.0.5304.121 per Mac e Linux e la versione 107.0.5304.121/.122 per Windows.
La correttiva per la seconda vulnerabilità è giunta con la versione 108.0.5359.94 per Mac e Linux e la versione 108.0.5359.94/.95 per Windows.
Entrambe le vulnerabilità sono citate nel catalogo KEV (Known Exploited Vulnerabilities) del CISA, e dunque sono state entrambe viste in natura, il che significa che sono state sfruttate attivamente contro qualche vittima: è il problema degli 0-day.
È naturale che Google abbia rilevato ben poco del problema, in attesa che gli utenti applichino gli aggiornamenti forniti. Urgentemente.