Risolte 7 vulnerabilità in GRUB2 che consentivano persino l'iniezione di malware

recentemente è stata rilasciata la notizia che 7 vulnerabilità sono state corrette il caricatore di avvio GRUB2 che consentono di aggirare il meccanismo UEFI Secure Boot e consentono l'esecuzione di codice non verificato, ad esempio iniettando malware che funziona a livello di bootloader o kernel.

Inoltre, c'è una vulnerabilità nel livello shim, che consente anche di bypassare UEFI Secure Boot. Il gruppo di vulnerabilità è stato chiamato in codice Boothole 3, simile a problemi simili precedentemente identificati nel bootloader.

I metadati specificati sono firmati digitalmente e possono essere inclusi separatamente negli elenchi dei componenti consentiti o vietati per UEFI Secure Boot.

La maggior parte delle distribuzioni Linux utilizza un piccolo livello di patch, firmato digitalmente da Microsoft, per l'avvio verificato in modalità UEFI Secure Boot. Questo livello verifica GRUB2 con il proprio certificato, che consente agli sviluppatori di distribuzione di non certificare ogni kernel e aggiornamento di GRUB con Microsoft.

Le vulnerabilità in GRUB2 consentono l'esecuzione del codice post-verifica shim riuscito, ma prima di caricare il sistema operativo, entra nella catena di fiducia con la modalità di avvio sicuro attiva e ottieni il controllo completo sul successivo processo di avvio, incluso l'avvio di un altro sistema operativo, la modifica dei componenti di sistema del sistema operativo e il bypass della protezione del blocco.

Invece di revocare la firma, SBAT consente di bloccarne l'utilizzo per i numeri di versione dei singoli componenti non è necessario revocare le chiavi per Secure Boot. Il blocco delle vulnerabilità tramite SBAT non richiede l'uso di un UEFI CRL (dbx), ma viene eseguito a livello di sostituzione della chiave interna per generare firme e aggiornare GRUB2, shim e altri artefatti di avvio forniti dalla distribuzione. Il supporto SBAT è stato ora aggiunto alle distribuzioni Linux più popolari.

Le le vulnerabilità identificate sono le seguenti:

  • CVE-2021-3696, CVE-2021-3695- Overflow del buffer di heap durante l'elaborazione di immagini PNG appositamente predisposte, che in teoria potrebbero essere utilizzate per mettere in scena l'esecuzione di codice di attacco e bypassare UEFI Secure Boot. Si noti che il problema è difficile da sfruttare, poiché la creazione di un exploit funzionante richiede la presa in considerazione di un gran numero di fattori e la disponibilità di informazioni sul layout della memoria.
  • CVE-2021-3697: buffer underflow nel codice di elaborazione delle immagini JPEG. Sfruttare il problema richiede la conoscenza del layout della memoria e ha all'incirca lo stesso livello di complessità del problema PNG (CVSS 7.5).
  • CVE-2022-28733: Un intero overflow nella funzione grub_net_recv_ip4_packets() che consente di influenzare il parametro rsm->total_len inviando un pacchetto IP appositamente predisposto. Il problema è contrassegnato come la più pericolosa delle vulnerabilità presentate (CVSS 8.1). Se sfruttata con successo, la vulnerabilità consente di scrivere i dati al di fuori del limite del buffer allocando deliberatamente una dimensione di memoria inferiore.
  • CVE-2022-28734: Overflow del buffer a byte singolo durante l'elaborazione di intestazioni HTTP divise. Il problema può causare il danneggiamento dei metadati di GRUB2 (scrittura di un byte nullo subito dopo la fine del buffer) durante l'analisi di richieste HTTP appositamente predisposte.
  • CVE-2022-28735: un problema nel controllo shim_lock che consente il caricamento di file non kernel. La vulnerabilità potrebbe essere sfruttata per avviare moduli del kernel non firmati o codice non verificato in modalità UEFI Secure Boot.
  • CVE-2022-28736: Accesso ad un'area di memoria già liberata nella funzione grub_cmd_chainloader() rieseguendo il comando chainloader che serve per caricare i sistemi operativi non supportati da GRUB2. Lo sfruttamento può portare all'esecuzione del codice dell'attaccante se l'attaccante può determinare i dettagli dell'allocazione di memoria in GRUB2.
  • CVE-2022-28737: Risolto il problema con l'overflow del buffer di livello nella funzione handle_image() durante il caricamento e l'esecuzione di immagini EFI personalizzate.

Per risolvere i problemi di GRUB2 e shim, le distribuzioni potranno utilizzare il meccanismo SBAT (Usefi Secure Boot Advanced Targeting), compatibile con GRUB2, shim e fwupd. SBAT è stato sviluppato in collaborazione con Microsoft e prevede l'aggiunta di ulteriori metadati ai file eseguibili dei componenti UEFI, comprese le informazioni su produttore, prodotto, componente e versione.

Infine, se sei interessato a saperne di più, puoi consultare i dettagli nel seguente link


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile del trattamento: AB Internet Networks 2008 SL
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.