Il boot loader è un componente software che si occupa di avviare la procedura di caricamento del sistema operativo selezionato dall’utente. Sui sistemi UEFI le informazioni salvate nella partizione EFI vengono utilizzate per avviare il sistema operativo oltre eventualmente ad altre utilità. La partizione EFI, chiamata anche ESP (EFI system partition), contiene il boot loader per il caricamento dei vari sistemi operativi installati, i driver per l’hardware utilizzati dal firmware all’avvio della macchina, utility avviabili prima dell’esecuzione del sistema operativo e file di log.
Battezzata BootHole, in queste ore è venuta a galla una grave vulnerabilità nel boot loader GRUB2, utilizzato dalla maggior parte delle distribuzioni Linux per gestire l’avvio di più sistemi operativi sulla stessa macchina (anche Windows).
Il problema di sicurezza può consentire a un aggressore di impiantare sul sistema un malware in grado di entrare in azione prima del caricamento del sistema operativo (bootkit), anche con la funzionalità Secure Boot attivata: Come verificare se Secure Boot è abilitato.
Compromettere un sistema usando un componente bootkit significa, per un aggressore, acquisire i privilegi più ampi in assoluto e rendere difficilmente rilevabili le azioni poste in essere dal malware: il codice malevolo è infatti già in esecuzione quando le soluzioni per la sicurezza vengono caricate.
I ricercatori di Eclypsium spiegano di aver individuato un problema che può portare a un buffer overflow (CVE-2020-10713) allorquando GRUB2 elabora il contenuto del file di configurazione grub.cfg
memorizzato esternamente, di solito nella partizione EFI.
Gli aggressori possono modificare grub.cfg
perché è solo un file di testo che tipicamente manca di qualsiasi protezione di integrità (i.e. firma digitale), come nel caso di altri componenti del bootloader.
La modifica del file di configurazione di GRUB permette di controllare il processo di avvio con il malware che può rimanere persistente sopravvivendo a una reinstallazione del sistema operativo. La modifica del file di configurazione richiede comunque l’utilizzo dei privilegi amministrativi.
Tutte le versioni di GRUB2 che caricano comandi da un file di configurazione esterno sono vulnerabili. I ricercatori di Eclypsium hanno chiarito che solo un fornitore ha aggiunto codice personalizzato per l’effettuazione di un controllo sulla firma del file grub.cfg
, oltre alla verifica sull’eseguibile di GRUB2.
I principali vendor e le varie distribuzioni Linux hanno iniziato a distribuire gli aggiornamenti correttivi ma passerà del tempo prima che tutti gli utenti ricevano le patch risolutive.