Vulnérabilités dans GRUB2, permettant de contourner UEFI Secure Boot

Le chargeur GRUB2 a corrigé 7 vulnérabilités permettant de contourner le mécanisme UEFI Secure Boot et d'exécuter du code non vérifié, comme l'injection de logiciels malveillants fonctionnant au niveau du chargeur ou du noyau. De plus, une vulnérabilité dans la couche shim a également été signalée, permettant de contourner UEFI Secure Boot. Ce groupe de vulnérabilités a été baptisé Boothole 3, sur le modÚle de problÚmes similaires précédemment identifiés dans le chargeur.

Pour rĂ©soudre les problĂšmes dans GRUB2 et shim, les distributions pourront utiliser le mĂ©canisme SBAT (UEFI Secure Boot Advanced Targeting), dont le support est mis en Ɠuvre pour GRUB2, shim et fwupd. 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, incluant des informations sur le fabricant, le produit, le composant et la version. Ces mĂ©tadonnĂ©es sont signĂ©es numĂ©riquement et peuvent ĂȘtre incluses sĂ©parĂ©ment dans les listes de composants autorisĂ©s ou interdits pour UEFI Secure Boot.

Dans la plupart des distributions Linux, une petite couche shim, signée numériquement par Microsoft, est utilisée pour l'amorçage vérifié en mode UEFI Secure Boot. Cette couche vérifie GRUB2 avec son propre certificat, ce qui permet aux développeurs de distributions de ne pas signer chaque mise à jour du noyau et de GRUB chez Microsoft. Les vulnérabilités dans GRUB2 permettent d'atteindre l'exécution de son code à un stade aprÚs la vérification réussie de shim, mais avant le chargement du systÚme d'exploitation, en s'infiltrant dans la chaßne de confiance en mode Secure Boot actif et en obtenant un contrÎle total sur le processus de démarrage ultérieur, y compris le chargement d'un autre systÚme d'exploitation, la modification des composants du systÚme d'exploitation et le contournement de la protection Lockdown.

Pour corriger les problÚmes dans le chargeur, les distributions devront former de nouvelles signatures numériques internes et mettre à jour les installateurs, les chargeurs de démarrage, les paquets de noyau, les mises à jour fwupd et la couche shim. Avant l'implémentation de SBAT, la mise à jour de la liste des certificats révoqués (dbx, UEFI Revocation List) était une condition sine qua non pour bloquer entiÚrement la vulnérabilité, car un attaquant, quel que soit le systÚme d'exploitation utilisé, pouvait compromettre UEFI Secure Boot en utilisant un support de démarrage avec une ancienne version vulnérable de GRUB2, signée numériquement.

Au lieu de révoquer la signature, SBAT permet de bloquer son utilisation pour des numéros de version spécifiques des composants sans avoir besoin de révoquer des clés pour Secure Boot. Le blocage des vulnérabilités via SBAT ne nécessite pas l'utilisation de la liste des certificats révoqués UEFI (dbx), mais s'effectue au niveau du remplacement de la clé interne pour la formation des signatures et la mise à jour de GRUB2, shim et d'autres artefacts de démarrage fournis par les distributions. Actuellement, le support de SBAT a déjà été ajouté dans la plupart des distributions Linux populaires.

Vulnérabilités identifiées :

  • CVE-2021-3696, CVE-2021-3695 - dĂ©bordement de tampon dans le tas lors du traitement d'images PNG spĂ©cialement conçues, ce qui pourrait thĂ©oriquement ĂȘtre exploitĂ© pour exĂ©cuter du code malveillant et contourner UEFI Secure Boot. Il est notĂ© que le problĂšme est difficile Ă  exploiter, car la crĂ©ation d'un exploit fonctionnel nĂ©cessite la prise en compte d'un grand nombre de facteurs et des informations sur la disposition de la mĂ©moire.
  • CVE-2021-3697 - dĂ©bordement par sous-flot de tampon dans le code de traitement des images JPEG. L'exploitation du problĂšme nĂ©cessite des informations sur la disposition de la mĂ©moire et est d'une complexitĂ© comparable Ă  celle du problĂšme avec PNG (CVSS 7.5).
  • CVE-2022-28733 - dĂ©bordement entier dans la fonction grub_net_recv_ip4_packets(), permettant de modifier le paramĂštre rsm->total_len en envoyant un paquet IP spĂ©cialement conçu. Le problĂšme est signalĂ© comme Ă©tant le plus dangereux parmi les vulnĂ©rabilitĂ©s prĂ©sentĂ©es (CVSS 8.1). Une exploitation rĂ©ussie permet d'Ă©crire des donnĂ©es en dehors du tampon en allouant de la mĂ©moire de taille dĂ©libĂ©rĂ©ment infĂ©rieure.
  • CVE-2022-28734 - dĂ©bordement de tampon un octet lors du traitement d'en-tĂȘtes HTTP sĂ©parĂ©s. Le problĂšme peut entraĂźner la corruption des mĂ©tadonnĂ©es GRUB2 (Ă©criture d'un octet nul immĂ©diatement aprĂšs la fin du tampon) lors de l'analyse de requĂȘtes HTTP spĂ©cialement conçues.
  • CVE-2022-28735 - problĂšme dans le vĂ©rificateur shim_lock, permettant de charger des fichiers non relatifs au noyau. La vulnĂ©rabilitĂ© peut ĂȘtre utilisĂ©e pour charger dans un mode UEFI Secure Boot des modules de noyau non signĂ©s ou du code non vĂ©rifiĂ©.
  • CVE-2022-28736 - accĂšs Ă  une zone mĂ©moire dĂ©jĂ  libĂ©rĂ©e dans la fonction grub_cmd_chainloader() lors de l'exĂ©cution rĂ©pĂ©tĂ©e de la commande chainloader, utilisĂ©e pour charger des systĂšmes d'exploitation non pris en charge dans GRUB2. L'exploitation peut conduire Ă  l'exĂ©cution de code malveillant si un attaquant parvient Ă  dĂ©terminer les caractĂ©ristiques de la rĂ©partition mĂ©moire dans GRUB2.
  • CVE-2022-28737 - dĂ©bordement de tampon dans le layer shim, survenant dans la fonction handle_image() lors du chargement et de l'exĂ©cution d'images EFI spĂ©cialement conçues.

Source : opennet.ru

Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster