Les chercheurs d’Eclypsium ont récemment révélé dans un article de blog qu’ils avaient identifié un certain nombre de vulnérabilités dans les contrôleurs BMC équipés du firmware American Megatrends (AMI) MegaRAC, que de nombreux fabricants de serveurs utilisent pour orchestrer le contrôle autonome des équipes.
Pour ceux qui ne connaissent pas un BMC, il s’agit d’un contrôleur spécialisé installé dans des serveurs qui possède ses propres interfaces d’interrogation de processeur, de mémoire, de stockage et de capteur, fournissant une interface de bas niveau pour surveiller et contrôler le matériel du serveur. .
Étant donné que les équipements installés dans les centres de données sont souvent unifiés, une attaque via le BMC peut être effectuée immédiatement sur tous les serveurs du centre de données après la compromission de l’un des systèmes. Les vulnérabilités peuvent également être utilisées pour attaquer des fournisseurs de cloud ou des systèmes de virtualisation à partir de systèmes invités.
En ce qui concerne les vulnérabilités, il est mentionné qu’elles permettent à un attaquant non authentifié d’accéder à l’environnement de contrôle BMC et d’exécuter son code au niveau du micrologiciel en envoyant une requête spécialement conçue au port HTTP de l’interface de contrôle Redfish.
Le problème avec cela est qu’en règle générale, l’accès au BMC n’est ouvert que pour le réseau local ou le réseau du centre de données, mais il arrive qu’il ne soit pas non plus fermé pour l’accès depuis le réseau mondial. L’exploitation des vulnérabilités du BMC peut également se faire en accédant au système d’exploitation local pour endommager l’ordinateur.
Il est mentionné que l’accès de l’attaquant à l’environnement logiciel BMC , qui fonctionne indépendamment du système d’exploitation exécuté sur le serveur, permet de mettre en œuvre des scénarios d’attaque tels que le remplacement du micrologiciel, le démarrage à distance de votre système via le réseau, la falsification de l’accès à distance. console (par exemple, surveillance des actions de l’administrateur sur le système et substitution d’entrée), défaillance de l’équipement (par exemple, augmentation de la tension fournie au processeur ou “plantage” du micrologiciel), interruption du fonctionnement stable (démarrage des redémarrages et coupures de courant), utilisation l’environnement BMC comme tremplin pour des attaques sur d’autres systèmes.
Concernant les vulnérabilités identifiées, il est mentionné que les plus critiques sont :
- CVE-2023-34329 Il s’agit d’une vulnérabilité de contournement d’authentification lors de la transmission d’en-têtes HTTP modifiés lors de l’envoi d’une requête à l’interface Web Redfish. L’essentiel de la vulnérabilité est que Redfish prend en charge deux modes d’authentification : “Basic Auth” lors de l’accès depuis l’extérieur et “No Auth” lors de l’accès à partir des adresses IP de l’interface interne ou de l’interface USB0. Dans le firmware avec le mode “No Auth” activé, un attaquant peut utiliser ce mode en modifiant l’en-tête HTTP lors de l’accès à l’API depuis un réseau externe. Par exemple, un attaquant non authentifié pourrait utiliser l’API pour créer un nouveau compte, puis l’utiliser pour obtenir un accès complet à l’interface Redfish.
- CVE-2023-34330 est une vulnérabilité de substitution de code via l’interface Dynamic Redfish Extension. L’implémentation Redfish de l’AMI dispose d’une fonction de débogage pour les développeurs de micrologiciels qui permet au code racine de s’exécuter dans l’environnement BMC en envoyant une requête HTTP POST spéciale. Pour une raison quelconque, cette fonctionnalité de débogage n’était pas désactivée dans le micrologiciel de production lors de l’exécution de requêtes à partir du système local. En utilisant le mode “No Auth”, un attaquant sur le système local peut exécuter n’importe quel code au niveau de la puce BNC sans passer l’authentification.
- En combinaison avec la vulnérabilité CVE-2023-34329, le problème permet à un attaquant distant, qui peut envoyer des requêtes réseau au port HTTP de l’interface de gestion BMC, de simuler l’envoi d’une requête depuis l’interface réseau interne et d’exécuter n’importe quel code au niveau du micrologiciel BMC. .
Enfin, il convient de mentionner que les problèmes ont été résolus dans les récentes mises à jour du firmware. Si vous souhaitez en savoir plus à ce sujet, vous pouvez consulter les détails dans le lien suivant.