Si elles sont exploitées, ces failles peuvent permettre aux attaquants d'obtenir un accès non autorisé à des informations sensibles ou de causer des problèmes en général.
Les détails de deux vulnérabilités dans le chargeur de démarrage GRUB2 ont été révélés que ppourrait conduire à l'exécution de code lors de l'utilisation de polices spécialement conçues et de la gestion de certaines séquences Unicode.
Il est mentionné que les vulnérabilités détectées sonte peut être utilisé pour contourner le mécanisme de démarrage vérifié UEFI Secure Boot. Les vulnérabilités de GRUB2 permettent au code d'être exécuté après la vérification réussie du shim, mais avant le chargement du système d'exploitation, rompant la chaîne de confiance avec le mode de démarrage sécurisé actif et obtenant un contrôle total sur le processus de post-démarrage, par exemple, pour démarrer un autre système d'exploitation, modifier les composants du système d'exploitation et contourner la protection par verrouillage.
Concernant les vulnérabilités identifiées, les éléments suivants sont mentionnés :
- 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 placer les glyphes.
- CVE-2022-3775 : Écriture hors limites lors du rendu de certaines chaînes Unicode dans une police personnalisée. Le problème est présent dans le code de gestion 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 de bitmap disponible. Un attaquant peut récolter une entrée de manière à provoquer l'écriture d'une file d'attente de données hors du tampon alloué. Il est à noter que malgré la complexité d'exploitation de la vulnérabilité, exposer le problème à l'exécution de code n'est pas exclu.
Une atténuation complète contre tous les CVE nécessitera des correctifs mis à jour avec le dernier SBAT (Secure Boot Advanced Targeting) et les données fournies par les distributions et les fournisseurs.
Cette fois, la liste de révocation UEFI (dbx) ne sera pas utilisée et la révocation de celles qui sont cassées
les artefacts seront créés uniquement avec SBAT. Pour plus d'informations sur la façon d'appliquer le
dernières révocations SBAT, voir mokutil(1). Les correctifs du fournisseur peuvent explicitement autoriser le démarrage d'anciens artefacts de démarrage connus.GRUB2, shim et autres artefacts de démarrage de tous les fournisseurs concernés seront mis à jour. il sera disponible lorsque l'embargo sera levé ou quelque temps après.
Mention est faite que la plupart des distributions Linux utilisent une petite couche de patch, signé 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.
Pour bloquer la vulnérabilité sans révoquer la signature numérique, les distributions peut utiliser le mécanisme SBAT (UEFI Secure Boot Advanced Targeting), qui est pris en charge par GRUB2, shim et fwupd sur les distributions Linux les plus populaires.
SBAT a été développé en collaboration avec Microsoft et implique l'ajout de métadonnées supplémentaires aux fichiers exécutables des composants UEFI, notamment des informations sur le fabricant, le produit, le composant et la version. Les métadonnées spécifiées sont signées numériquement et peuvent être incluses dans des listes de composants autorisés ou interdits distinctes pour UEFI Secure Boot.
SBAT permet de bloquer l'utilisation d'une signature numérique pour les numéros de version de composants individuels sans qu'il soit nécessaire de révoquer les clés pour le démarrage sécurisé. Le blocage des vulnérabilités via SBAT ne nécessite pas l'utilisation d'une CRL UEFI (dbx), mais se fait plutôt au niveau du remplacement de 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 de SBAT, la mise à jour de la liste de révocation de certificats (dbx, UEFI Revocation List) était une condition préalable pour bloquer complètement la vulnérabilité, car 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 le démarrage sécurisé UEFI.
Enfin Il convient de mentionner que le correctif a été publié sous forme de correctif., pour résoudre les problèmes dans GRUB2, il ne suffit pas de mettre à jour le package, vous devrez également créer de nouvelles signatures numériques internes et mettre à jour les programmes d'installation, les chargeurs de démarrage, les packages du noyau, fwupd-firmware et shim-layer.
L'état de la correction des vulnérabilités dans les distributions peut être évalué sur ces pages : Ubuntu, SUSE, RHEL, Fedora y Debian.
Vous pouvez vérifier plus à ce sujet dans le lien suivant