Rivelata un'informazione su una vulnerabilità (CVE-2023-4001) nei patch per il bootloader GRUB2, preparati da Red Hat. La vulnerabilità consente su molti sistemi con UEFI di bypassare il controllo della password impostata in GRUB2 per limitare l'accesso al menu di avvio o alla riga di comando del bootloader. La vulnerabilità è causata da una modifica introdotta da Red Hat nel pacchetto di GRUB2 fornito in RHEL e Fedora Linux. Il problema non si manifesta nel progetto principale di GRUB2 e interessa solo le distribuzioni che hanno applicato patch aggiuntive di Red Hat.
Il problema è causato da un errore nella logica di utilizzo dell'UUID per cercare il dispositivo con il file di configurazione (ad esempio, '/boot/efi/EFI/fedora/grub.cfg') che contiene l'hash della password. Per bypassare l'autenticazione, un utente con accesso fisico al computer può collegare un'unità esterna, come una chiavetta USB, impostando un UUID che ripete l'identificatore della partizione di avvio /boot del sistema attaccato.
Molti sistemi UEFI elaborano prima le unità esterne e le pongono in cima all'elenco dei dispositivi rilevati rispetto alle unità fisse; pertanto, la partizione /boot preparata dall'attaccante avrà maggiore priorità durante l'elaborazione, e di conseguenza GRUB2 cercherà di caricare il file di configurazione da questa partizione. Durante la ricerca della partizione tramite il comando 'search' in GRUB2, viene effettuata la determinazione solo della prima corrispondenza dell'UUID, dopo di che la ricerca si interrompe. Se il file di configurazione principale non viene trovato in una partizione specifica, GRUB2 mostrerà il prompt della riga di comando, consentendo un controllo completo sul processo di avvio successivo.
Per determinare l'UUID della partizione da un utente locale non privilegiato può essere utilizzato lo strumento «lsblk», ma un utente esterno, privo di accesso al sistema ma in grado di osservare il processo di avvio, in alcune distribuzioni può individuare l'UUID dai messaggi diagnostici mostrati durante l'avvio. La vulnerabilità è stata corretta da Red Hat con l'aggiunta di un nuovo argomento al comando «search», che consente di vincolare l'operazione di scansione dell'UUID solo ai dispositivi di blocco utilizzati per avviare il bootloader (ossia la partizione /boot deve trovarsi sullo stesso disco della partizione EFI di sistema).
Fonte: opennet.ru
