Vulnérabilité dans le micrologiciel du contrôleur BMC affectant les serveurs de nombreux fabricants

Société Élypsium révélé deux vulnérabilités dans le firmware du contrôleur BMC fourni dans les serveurs Lenovo ThinkServer, permettant à un utilisateur local de modifier le firmware ou d'exécuter du code arbitraire côté puce BMC.

Une analyse plus approfondie a montré que ces problèmes affectent également le micrologiciel des contrôleurs BMC utilisés dans les plates-formes de serveurs Gigabyte Enterprise Servers, qui sont également utilisés dans les serveurs de sociétés telles que Acer, AMAX, Bigtera, Ciara, Penguin Computing et sysGen. Les contrôleurs BMC problématiques utilisaient le micrologiciel MergePoint EMS vulnérable développé par le fournisseur tiers Avocent (maintenant une division de Vertiv).

La première vulnérabilité est causée par le manque de vérification cryptographique des mises à jour du firmware téléchargées (seule la vérification de la somme de contrôle CRC32 est utilisée, contrairement à recommandations Le NIST utilise des signatures numériques), ce qui permet à un attaquant disposant d'un accès local au système d'usurper le micrologiciel BMC. Le problème, par exemple, peut être utilisé pour intégrer en profondeur un rootkit qui reste actif après la réinstallation du système d'exploitation et bloque les mises à jour ultérieures du micrologiciel (pour éliminer le rootkit, vous devrez utiliser un programmeur pour réécrire le flash SPI).

La deuxième vulnérabilité est présente dans le code de mise à jour du firmware et vous permet de substituer vos propres commandes, qui seront exécutées dans le BMC avec le niveau de privilèges le plus élevé. Pour attaquer, il suffit de modifier la valeur du paramètre RemoteFirmwareImageFilePath dans le fichier de configuration bmcfwu.cfg, à travers lequel le chemin d'accès à l'image du firmware mis à jour est déterminé. Lors de la prochaine mise à jour, qui peut être initiée par une commande dans IPMI, ce paramètre sera traité par le BMC et utilisé dans le cadre de l'appel popen() dans le cadre de la ligne pour /bin/sh. Étant donné que la ligne de génération de la commande shell est créée à l'aide de l'appel snprintf() sans nettoyage approprié des caractères spéciaux, les attaquants peuvent substituer leur code pour l'exécution. Pour exploiter la vulnérabilité, vous devez disposer de droits vous permettant d'envoyer une commande au contrôleur BMC via IPMI (si vous disposez de droits d'administrateur sur le serveur, vous pouvez envoyer une commande IPMI sans authentification supplémentaire).

Gigabyte et Lenovo ont été informés des problèmes en juillet 2018 et ont réussi à publier des mises à jour avant que les informations ne soient divulguées publiquement. Entreprise Lenovo libéré mises à jour du micrologiciel le 15 novembre 2018 pour les serveurs ThinkServer RD340, TD340, RD440, RD540 et RD640, mais n'ont éliminé qu'une vulnérabilité qui permet la substitution de commandes, car lors de la création d'une gamme de serveurs basée sur MergePoint EMS en 2014, le micrologiciel la vérification effectuée à l'aide d'une signature numérique n'était pas encore généralisée et n'était pas initialement annoncée.

Le 8 mai de cette année, Gigabyte a publié des mises à jour du micrologiciel pour les cartes mères équipées du contrôleur ASPEED AST2500, mais comme Lenovo, il n'a corrigé que la vulnérabilité de substitution de commande. Les cartes vulnérables basées sur ASPEED AST2400 restent sans mises à jour pour le moment. Gigaoctet aussi dit sur la transition vers l'utilisation du micrologiciel MegaRAC SP-X d'AMI. Un nouveau micrologiciel basé sur MegaRAC SP-X sera proposé pour les systèmes précédemment livrés avec le micrologiciel MergePoint EMS. Cette décision fait suite à l'annonce de Vertiv selon laquelle elle ne prendra plus en charge la plateforme MergePoint EMS. Dans le même temps, rien n'a encore été signalé concernant les mises à jour du firmware sur les serveurs fabriqués par Acer, AMAX, Bigtera, Ciara, Penguin Computing et sysGen basés sur des cartes Gigabyte et équipés du firmware MergePoint EMS vulnérable.

Rappelons que BMC est un contrôleur spécialisé installé dans les serveurs, qui possède ses propres interfaces de CPU, de mémoire, de stockage et d'interrogation des capteurs, qui fournissent une interface de bas niveau pour surveiller et gérer les équipements du serveur. Grâce à BMC, quel que soit le système d'exploitation exécuté sur le serveur, vous pouvez surveiller l'état des capteurs, gérer l'alimentation, le firmware et les disques, organiser le démarrage à distance sur le réseau, assurer le fonctionnement d'une console d'accès à distance, etc.

Source: opennet.ru

Ajouter un commentaire