Diciamo spesso che il browser Web è uno dei componenti più critici di ogni nostro dispositivo. È l’applicazione che più spesso funge da interfaccia con “il mondo esterno”, la porta d’accesso a qualunque contenuto pubblicato sul Web. Se un aggressore remoto potesse sfruttare un problema di sicurezza che porta all’esecuzione di codice dannoso al caricamento di una pagina Web, ecco che la situazione diverrebbe davvero pesante. Ed è proprio quello che sta avvenendo in questi giorni: una vulnerabilità critica in WebP può provocare l’esecuzione di codice nocivo da parte di qualunque browser.
Cos’è WebP e a che cosa serve
WebP è un formato di immagine sviluppato da Google con l’obiettivo di migliorare l’efficienza nella compressione delle immagini su Internet. Serve principalmente a ottimizzare il caricamento delle immagini favorendo una visualizzazione più rapida del contenuto delle pagine e determinando un risparmio in termini di larghezza di banda occupata.
La soluzione presentata a suo tempo da Google utilizza algoritmi di compressione avanzati che riducono le dimensioni dei file delle immagini senza compromettere significativamente la qualità visiva.
WebP integra il supporto per le trasparenze e, ovviamente, necessita di meno spazio a livello di file system. È inoltre supportato da tutti i browser moderni come Chrome, Firefox, Edge e, in generale, Chromium e tutti i progetti derivati (Edge è uno di essi).
Nella galleria WebP allestita da Google, si vede come i file in questo formato d’immagine possano essere integrati nelle pagine Web esattamente come gli altri formati più noti, ad esempio JPEG, PNG, GIF e così via. A una semplice occhiata non è possibile distinguere WebP dagli altri contenuti grafici.
Una vulnerabilità nell’implementazione di WebP scuote tutti i browser
Google si è affrettata a rilasciare un aggiornamento di Chrome per correggere una falla zero-day: la patch dell’azienda di Mountain View riguarda proprio l’implementazione di WebP con riferimento alla falla di sicurezza CVE-2023-4863.
Spulciando tra gli aggiornamenti degli altri browser, distribuiti dai rispettivi produttori in queste ore, si nota che la stessa vulnerabilità CVE-2023-4863 è oggetto di correzione anche in prodotti quali Edge e Firefox. Mozilla lo fa presente in questa nota mentre Microsoft nel suo bollettino di settembre 2023. Nel caso di Mozilla, il problema di sicurezza riguarda anche il client di posta Thunderbird, che condivide il motore di rendering HTML utilizzato in Firefox.
Sebbene gli sviluppatori di Chrome e degli altri software abbiano preferito mantenere stretto riserbo sui dettagli tecnici della vulnerabilità correlata alla visualizzazione dei contenuti WebP, proprio perché il problema di sicurezza è considerato estremamente critico, aggressioni da parte dei criminali informatici sono già in corso. Per questo è fondamentale applicare immediatamente le patch di sicurezza per i browser Web e per tutte le applicazioni interessate.
Esecuzione di codice malevolo con il semplice caricamento di immagini
Cosa succede se non si applicano gli ultimi aggiornamenti per il browser? Semplicemente visitando una pagina Web malevola, contenente un file WebP creato “ad arte”, può verificarsi l’esecuzione di codice arbitrario sulla propria macchina.
La lacuna di sicurezza CVE-2023-4863 si riferisce infatti a un errore heap buffer overflow nella libreria libwebp
. Ecco perché il problema interessa diverse applicazioni, gestite ed aggiornate da vari sviluppatori: tutte condividono la medesima libreria.
La libreria libwebp è una libreria open source sviluppata da Google che fornisce un set di strumenti e funzioni per la manipolazione delle immagini nel formato WebP. È stata creata per consentire agli sviluppatori di scrivere software e applicazioni in grado di codificare, decodificare e manipolare immagini nel formato WebP.
Un heap buffer overflow è un tipo di vulnerabilità informatica che si verifica quando un programma o un’applicazione modifica accidentalmente o intenzionalmente i dati memorizzati in un buffer nell’heap di memoria oltre i limiti consentiti per quel buffer. L’heap è una zona di memoria utilizzata per l’allocazione dinamica di dati durante l’esecuzione di un programma. L’esposizione agli heap buffer overflow rappresenta un grave rischio per la sicurezza: questi attacchi informatici possono essere utilizzati per sfruttare le vulnerabilità dei programmi e compromettere la sicurezza del sistema.
Credit immagine in apertura: iStock.com/filo