Des informations ont été révélées concernant une vulnérabilité (CVE-2023-4001) dans les correctifs du chargeur GRUB2, préparés par Red Hat. Cette vulnérabilité permet, sur de nombreux systÚmes avec UEFI, de contourner la vérification du mot de passe définie dans GRUB2 pour restreindre l'accÚs au menu de démarrage ou à l'invite de commande du chargeur. Elle est causée par une modification apportée par Red Hat dans le paquet GRUB2 fourni dans RHEL et Fedora Linux. Ce problÚme ne se manifeste pas dans le projet principal de GRUB2 et affecte uniquement les distributions ayant appliqué des correctifs supplémentaires de Red Hat.
Le problÚme résulte d'une erreur dans la logique d'utilisation de l'UUID pour rechercher le dispositif contenant le fichier de configuration (par exemple, «/boot/efi/EFI/fedora/grub.cfg»), qui contient le hachage du mot de passe. Pour contourner l'authentification, un utilisateur ayant un accÚs physique à l'ordinateur peut brancher un périphérique externe, tel qu'une clé USB, en lui attribuant un UUID identique à celui de la partition de démarrage /boot du systÚme ciblé.
De nombreux systĂšmes UEFI traitent en prioritĂ© les pĂ©riphĂ©riques externes et les placent en tĂȘte de la liste des dispositifs dĂ©tectĂ©s avant les disques durs internes. Ainsi, la partition /boot prĂ©parĂ©e par l'attaquant sera traitĂ©e en premier, et GRUB2 tentera de charger le fichier de configuration Ă partir de cette partition. Lors de la recherche de la partition Ă l'aide de la commande «search» dans GRUB2, seul le premier UUID correspondant est dĂ©terminĂ©, aprĂšs quoi la recherche s'arrĂȘte. Si le fichier de configuration principal n'est pas trouvĂ© dans la partition spĂ©cifiĂ©e, GRUB2 affichera une invite de commande, permettant ainsi un contrĂŽle total du processus de dĂ©marrage ultĂ©rieur.
Pour qu'un utilisateur local non privilĂ©giĂ© puisse dĂ©terminer l'UUID d'une partition, l'utilitaire « lsblk » peut ĂȘtre utilisĂ©, mais un utilisateur extĂ©rieur, n'ayant pas accĂšs au systĂšme mais capable d'observer le processus de dĂ©marrage, peut parfois identifier l'UUID Ă partir des messages diagnostiques affichĂ©s pendant le dĂ©marrage dans certaines distributions. La vulnĂ©rabilitĂ© a Ă©tĂ© corrigĂ©e par Red Hat en ajoutant un nouvel argument Ă la commande « search », permettant de limiter l'opĂ©ration de recherche d'UUID uniquement aux pĂ©riphĂ©riques de bloc utilisĂ©s pour dĂ©marrer le gestionnaire de dĂ©marrage (c'est-Ă -dire que la partition /boot doit se trouver sur le mĂȘme disque que la partition systĂšme EFI).
Source : opennet.ru
