Deux vulnérabilités dans GRUB2 qui vous permettent de contourner la protection UEFI Secure Boot

Des informations ont été divulguées sur deux vulnérabilités du chargeur de démarrage GRUB2, qui peuvent conduire à l'exécution de code lors de l'utilisation de polices spécialement conçues et du traitement de certaines séquences Unicode. Les vulnérabilités peuvent être utilisées pour contourner le mécanisme de démarrage vérifié UEFI Secure Boot.

Vulnérabilités identifiées :

  • CVE-2022-2601 - Un débordement de tampon dans la fonction grub_font_construct_glyph() lors du traitement de polices spécialement conçues au format pf2, qui se produit en raison d'un calcul incorrect du paramètre max_glyph_size et de l'allocation d'une zone mémoire évidemment plus petite que nécessaire pour accueillir les glyphes.
  • CVE-2022-3775 Une écriture hors limites se produit lors du rendu de certaines séquences Unicode dans une police spécialement stylée. Le problème réside dans le code de traitement des polices et est dû à un manque de contrôles appropriés pour garantir que la largeur et la hauteur du glyphe correspondent à la taille du bitmap disponible. Un attaquant peut concevoir l'entrée de manière à provoquer l'écriture de la fin des données à l'extérieur du tampon alloué. Il est à noter que malgré la complexité de l'exploitation de la vulnérabilité, il n'est pas exclu de porter le problème à l'exécution du code.

Le correctif a été publié sous forme de correctif. L'état d'élimination des vulnérabilités dans les distributions peut être évalué sur ces pages : Ubuntu, SUSE, RHEL, Fedora, Debian. Pour résoudre les problèmes dans GRUB2, il ne suffit pas de mettre à jour le package ; vous devrez également générer de nouvelles signatures numériques internes et mettre à jour les installateurs, les chargeurs de démarrage, les packages du noyau, le firmware fwupd et la couche de calage.

La plupart des distributions Linux utilisent une petite couche de calage, signée numériquement par Microsoft, pour un démarrage vérifié en mode UEFI Secure Boot. Cette couche vérifie GRUB2 avec son propre certificat, ce qui permet aux développeurs de distribution de ne pas certifier chaque mise à jour du noyau et de GRUB auprès de Microsoft. Les vulnérabilités de GRUB2 vous permettent d'exécuter votre code après une vérification réussie de shim, mais avant de charger le système d'exploitation, de vous insérer dans la chaîne de confiance avec le mode de démarrage sécurisé actif et d'obtenir un contrôle total sur la suite du processus de démarrage, y compris le démarrage d'un autre. Système d'exploitation, modification des composants du système d'exploitation et contournement de la protection par verrouillage.

Pour bloquer la vulnérabilité sans révoquer la signature numérique, les distributions peuvent utiliser le mécanisme SBAT (UEFI Secure Boot Advanced Targeting), qui est pris en charge pour GRUB2, shim et fwupd dans la plupart des distributions Linux populaires. SBAT a été développé conjointement avec Microsoft et implique l'ajout de métadonnées supplémentaires aux fichiers exécutables des composants UEFI, qui incluent des informations sur le fabricant, le produit, le composant et la version. Les métadonnées spécifiées sont certifiées par une signature numérique et peuvent être incluses séparément dans les listes de composants autorisés ou interdits pour le démarrage sécurisé UEFI.

SBAT vous permet de bloquer l'utilisation de signatures numériques pour les numéros de version de composants individuels sans avoir à révoquer les clés pour Secure Boot. Le blocage des vulnérabilités via SBAT ne nécessite pas l'utilisation d'une liste de révocation de certificats UEFI (dbx), mais s'effectue au niveau du remplacement de la clé interne pour générer des signatures et mettre à jour GRUB2, shim et autres artefacts de démarrage fournis par les distributions. Avant l'introduction du SBAT, la mise à jour de la liste de révocation des certificats (dbx, UEFI Revocation List) était une condition préalable pour bloquer complètement la vulnérabilité, puisqu'un attaquant, quel que soit le système d'exploitation utilisé, pouvait utiliser un support de démarrage avec une ancienne version vulnérable de GRUB2, certifié par une signature numérique, pour compromettre UEFI Secure Boot .

Source: opennet.ru

Ajouter un commentaire