Vulnerabilità critica nel bootloader GRUB2 che consente di bypassare UEFI Secure Boot

Nel caricatore GRUB2 identificate 8 vulnerabilità. La più pericolosa il problema (CVE-2020-10713), soprannominata BootHole, consente di eludere il meccanismo UEFI Secure Boot e installare malware non verificato. L'aspetto distintivo di questa vulnerabilità è che per risolverla non è sufficiente aggiornare GRUB2, poiché l'attaccante potrebbe utilizzare un supporto di avvio con una vecchia versione vulnerabile, firmata digitalmente. L'attaccante può compromettere il processo di verifica non solo di Linux, ma anche di altri sistemi operativi, inclusi Windows.

Il problema è risolvibile solo aggiornando il sistema l'elenco dei certificati revocati (dbx, UEFI Revocation List), ma in questo caso si perderà la possibilità di utilizzare i vecchi supporti di installazione con Linux. Alcuni produttori di hardware hanno già incluso nelle loro firmware un elenco aggiornato di certificati revocati, su tali sistemi in modalità UEFI Secure Boot sarà possibile avviare solo le versioni aggiornate delle distribuzioni Linux.

Per risolvere la vulnerabilità nei pacchetti delle distribuzioni sarà necessario aggiornare anche gli installer, i caricamenti, i pacchetti del kernel, i firmware fwupd e il layer shim, generando per essi nuove firme digitali. Gli utenti dovranno aggiornare le immagini di installazione e altri supporti di avvio, e caricare l'elenco dei certificati revocati (dbx) nel firmware UEFI. Fino all'aggiornamento del dbx in UEFI, il sistema rimane vulnerabile indipendentemente dagli aggiornamenti installati nel sistema operativo.

Vulnerabilità causato attraverso un buffer overflow, che può essere sfruttato per eseguire codice arbitrario durante il processo di avvio.
La vulnerabilità si manifesta durante l'analisi del contenuto del file di configurazione grub.cfg, che di solito si trova nella partizione ESP (EFI System Partition) e può essere modificato da un attaccante con diritti di amministratore, senza compromettere l'integrità dei file eseguibili firmati shim e GRUB2. A causa di rimangono ancora non corretti. un errore nel parser di configurazione, il gestore di errori fatali di parsing YY_FATAL_ERROR non terminava il programma, ma emetteva solo un avviso. Il pericolo della vulnerabilità è mitigato dalla necessità di un accesso privilegiato al sistema, tuttavia, il problema potrebbe essere sfruttato per l'implementazione di rootkit nascosti in presenza di accesso fisico all'hardware (se è possibile avviare da un proprio supporto).

Nella maggior parte delle distribuzioni Linux, per l'avvio verificato viene utilizzato un piccolo livello shim, firmato digitalmente da Microsoft. Questo livello verifica GRUB2 con il proprio certificato, consentendo agli sviluppatori delle distribuzioni di non dover certificare ogni aggiornamento del kernel e di GRUB da Microsoft. La vulnerabilità consente, tramite la modifica del contenuto di grub.cfg, di eseguire il proprio codice dopo la verifica di shim, ma prima del caricamento del sistema operativo, infiltrandosi nella catena di fiducia durante la modalità Secure Boot attiva e ottenendo il controllo completo del successivo processo di avvio, inclusa l'avvio di un altro sistema operativo, la modifica dei componenti del sistema operativo e il bypass della protezione. Lockdown.

Vulnerabilità critica nel bootloader GRUB2 che consente di bypassare UEFI Secure Boot

Altre vulnerabilità in GRUB2:

  • CVE-2020-14308 — overflow del buffer a causa della mancanza di verifica delle dimensioni dell'area di memoria allocata in grub_malloc;
  • CVE-2020-14309 — overflow intero in grub_squash_read_symlink, che può portare alla scrittura di dati al di fuori del buffer allocato;
  • CVE-2020-14310 — overflow intero in read_section_from_string, che può portare alla scrittura di dati al di fuori del buffer allocato;
  • CVE-2020-14311 — overflow intero in grub_ext2_read_link, che può portare alla scrittura di dati al di fuori del buffer allocato;
  • CVE-2020-15705 — consente il caricamento di kernel non firmati durante il boot diretto in modalità Secure Boot senza livello shim;
  • CVE-2020-15706 — accesso a un'area di memoria già liberata (use-after-free) durante la ridefinizione di una funzione in tempo di esecuzione;
  • CVE-2020-15707 — overflow intero nel gestore della dimensione initrd.

Gli aggiornamenti dei pacchetti contenenti le correzioni sono stati rilasciati per Debian, Ubuntu, RHEL e SUSE. Per GRUB2 è stato proposto un insieme di patch.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster