Logo Zéphyrnet

Distributions Linux touchées par la vulnérabilité RCE dans le chargeur de démarrage Shim

Date :

Linux shim, un petit morceau de code que de nombreuses distributions Linux majeures utilisent pendant le processus de démarrage sécurisé, présente une vulnérabilité d'exécution de code à distance qui donne aux attaquants un moyen de prendre le contrôle complet des systèmes affectés.

Toutes les distributions Linux prenant en charge le démarrage sécurisé, y compris Red Hat, Ubuntudebbian, ainsi que SUSE sont concernés par la faille, identifiée comme CVE-2023-40547. La faille est la plus grave des six vulnérabilités du shim Linux que son mainteneur Red Hat a récemment révélées – et pour lesquelles il a publié une mise à jour (cale 15.8). Bill Demirkapi, un chercheur du Security Response Center de Microsoft qui a découvert le bug et l'a signalé à Red Hat, l'a décrit comme suit : chaque chargeur de démarrage Linux signé au cours de la dernière décennie.

Erreur d'écriture hors limites

Dans son avis, Red Hat a déclaré que le bug était lié au fait que le code de démarrage du shim faisait confiance aux valeurs contrôlées par l'attaquant lors de l'analyse d'une réponse HTTP. "Cette faille permet à un attaquant de créer une requête HTTP malveillante spécifique, conduisant à une primitive d'écriture hors limites entièrement contrôlée et à une compromission complète du système."

La National Vulnerability Database (NVD) et Red Hat avaient des points de vue légèrement différents sur la gravité de la vulnérabilité et son exploitabilité. Le NVD a attribué le bug un indice de gravité proche du maximum de 9.8 sur 10 sur l'échelle CVSS 3.1 et l'a identifié comme quelque chose qu'un attaquant pourrait exploiter sur le réseau avec peu de complexité et ne nécessitant aucune interaction ni privilèges de l'utilisateur.

Red Hat a attribué au bug un score de gravité plus modeste de 8.3 et l'a décrit comme exploitable uniquement via un réseau adjacent et impliquant une complexité d'attaque élevée. Il s'agit d'une évaluation que les responsables des autres distributions Linux concernées ont partagée avec Ubuntu, par exemple, qualifiant CVE-2023-40547 de bogue de gravité « moyenne » et SUSE lui attribuant une note « importante » qui est généralement un cran en dessous de critique.

Red Hat a expliqué ainsi les différents scores de gravité : « Les scores CVSS pour les composants open source dépendent de facteurs spécifiques au fournisseur (par exemple, version ou chaîne de build). Par conséquent, le score et l'évaluation d'impact de Red Hat peuvent être différents de ceux de NVD et d'autres fournisseurs. Le NVD et Red Hat sont cependant d’accord sur le fait que la vulnérabilité a un impact important sur la confidentialité, l’intégrité et la disponibilité des données.

Un chargeur de démarrage shim est essentiellement une petite application qui se charge avant le chargeur de démarrage principal du système d'exploitation sur les systèmes basés sur l'Unified Extensible Firmware Interface (UEFI). Il agit comme un pont entre le micrologiciel UEFI et les principaux chargeurs de démarrage du système d'exploitation, qui dans le cas de Linux, sont généralement GRUB ou system-boot. Sa fonction est de vérifier le chargeur de démarrage principal du système d'exploitation avant de le charger et de l'exécuter.

Plusieurs vecteurs d'attaque

Des chercheurs de chaîne d'approvisionnement de logiciels fournisseur de sécurité Eclypsium identifié trois chemins différents qu'un attaquant pourrait utiliser pour exploiter la vulnérabilité. La première consiste à utiliser une attaque de l'homme du milieu (MiTM), dans laquelle l'adversaire intercepte le trafic HTTP entre la victime et le serveur HTTP qui sert les fichiers pour prendre en charge le démarrage HTTP. "L'attaquant pourrait être localisé sur n'importe quel segment de réseau entre la victime et le serveur légitime."

Un attaquant disposant de suffisamment de privilèges sur un système vulnérable pourrait également exploiter la vulnérabilité localement en manipulant les données dans les variables EFI (Extensible Firmware Interface) ou sur les partitions EFI. «Cela peut être accompli avec une clé USB Linux en direct. L’ordre de démarrage peut ensuite être modifié de telle sorte qu’une cale distante et vulnérable soit chargée sur le système.

Un attaquant sur le même réseau que la victime peut également manipuler l'environnement d'exécution avant le démarrage pour charger en chaîne un chargeur de démarrage shim vulnérable, a déclaré Eclypsium. "Un attaquant exploitant cette vulnérabilité prend le contrôle du système avant le chargement du noyau, ce qui signifie qu'il dispose d'un accès privilégié et de la possibilité de contourner tous les contrôles mis en œuvre par le noyau et le système d'exploitation", a noté le fournisseur.

Une gravité exagérée ?

Certains experts en sécurité ont cependant perçu la vulnérabilité comme exigeant un degré élevé de complexité et de hasard pour être exploitée. Lionel Litty, architecte de sécurité en chef chez Menlo Security, affirme que la barre d'exploitation est haute car l'attaquant doit déjà avoir obtenu les privilèges d'administrateur sur un appareil vulnérable. Ou alors, ils devraient cibler un appareil qui utilise le démarrage réseau et également être capables d'effectuer une attaque de l'homme du milieu sur le trafic réseau local de l'appareil ciblé.

"Selon le chercheur qui a découvert la vulnérabilité, un attaquant local peut modifier la partition EFI pour modifier la séquence de démarrage afin de pouvoir ensuite exploiter la vulnérabilité", explique Litty. « [Mais] pour modifier la partition EFI, il faudra être un administrateur pleinement privilégié sur la machine victime », dit-il.

Si le périphérique utilise le démarrage réseau et que l'attaquant peut effectuer du MITM sur le trafic, c'est à ce moment-là qu'il peut cibler le débordement de tampon. "Ils renverraient une réponse HTTP mal formée qui déclencherait le bug et leur donnerait le contrôle de la séquence de démarrage à ce stade", explique Litty. Il ajoute que les organisations dont les machines utilisent le démarrage HTTP ou le démarrage dans un environnement d'exécution avant démarrage (PXE) devraient être préoccupées, en particulier si la communication avec le serveur de démarrage se fait dans un environnement dans lequel un adversaire pourrait s'insérer au milieu du trafic.

Shachar Menashe, directeur principal de la recherche en sécurité chez JFrog, affirme que l'évaluation de la gravité de la vulnérabilité par Red Hat est plus précise que le score « surexagéré » du NVD.

Il y a deux explications possibles à cet écart, dit-il. « NVD a fourni le score sur la base de mots-clés de la description, et non d'une analyse approfondie de la vulnérabilité », dit-il. Par exemple, supposons qu’une « requête HTTP malveillante » se traduise automatiquement par un vecteur d’attaque réseau.

NVD peut également faire allusion au pire des cas extrêmement improbables, dans lequel la machine victime est déjà configurée pour démarrer via HTTP à partir d'un serveur extérieur au réseau local et l'attaquant a déjà le contrôle de ce serveur HTTP. "Il s'agit d'un scénario extrêmement improbable qui causerait des tonnes de problèmes, même sans rapport avec cette CVE", déclare Shachar.

spot_img

Dernières informations

spot_img