Dans les firmwares UEFI basés sur la plateforme ouverte TianoCore EDK2, généralement utilisés sur les systèmes serveurs, neuf vulnérabilités ont été identifiées, regroupées sous le nom de code PixieFAIL. Les vulnérabilités se trouvent dans la pile réseau des firmwares, utilisée pour le démarrage réseau (PXE). Les vulnérabilités les plus graves permettent à un attaquant non authentifié d'exécuter du code à distance au niveau du firmware dans des systèmes autorisant le démarrage PXE par le biais d'un réseau IPv6.
Des problèmes moins graves peuvent entraîner un déni de service (blocage du démarrage), des fuites d'informations, la corruption du cache DNS et l'interception de sessions TCP. La plupart des vulnérabilités peuvent être exploitées depuis un réseau local, mais certaines permettent également des attaques depuis un réseau extérieur. Un scénario d'attaque typique consiste à surveiller le trafic sur le réseau local et à envoyer des paquets spécialement formatés lorsqu'une activité liée au démarrage du système par PXE est détectée. L'accès à serveur la chaîne de démarrage ou au serveur DHCP n'est pas requis. Des prototypes d'exploits ont été publiés pour démontrer la technique d'attaque.
Les firmwares UEFI basés sur la plateforme TianoCore EDK2 sont utilisés dans de nombreuses grandes entreprises, fournisseurs de services cloud, centres de données et clusters de calcul. En particulier, le module vulnérable NetworkPkg avec l'implémentation du démarrage PXE est utilisé dans les firmwares développés par des entreprises telles qu'ARM, Insyde Software (Insyde H20 UEFI BIOS), American Megatrends (AMI Aptio OpenEdition), Phoenix Technologies (SecureCore), Intel, Dell et Microsoft (Project Mu). Il était supposé que les vulnérabilités touchaient également la plateforme ChromeOS, qui contient un package EDK2 dans son référentiel, mais Google a déclaré que ce package n'était pas utilisé dans les firmwares pour les appareils Chromebook et que la plateforme ChromeOS n'était pas affectée par ce problème.
Vulnérabilités identifiées :
- CVE-2023-45230 — débordement de tampon dans le code du client DHCPv6, exploité par l'envoi d'un identifiant trop long de serveurs (option Server ID).
- CVE-2023-45234 — débordement de tampon lors du traitement de l'option avec les paramètres du serveur DNS transmis dans le message annonçant la présence d'un serveur DHCPv6.
- CVE-2023-45235 — débordement de tampon lors du traitement de l'option avec l'identifiant du serveur (Server ID) dans les messages d'annonce de serveur proxy pour DHCPv6.
- CVE-2023-45229 — débordement entier par sous-flux (underflow), se manifestant lors du traitement des options IA_NA/IA_TA dans les messages DHCPv6, annonçant un serveur DHCP.
- CVE-2023-45231 — fuite de données hors buffer lors du traitement des messages ND Redirect (Discovery de voisin) avec des valeurs d'options tronquées.
- CVE-2023-45232 — boucle infinie lors de l'analyse des options inconnues dans l'en-tête des options de destination.
- CVE-2023-45233 — boucle infinie lors de l'analyse de l'option PadN dans l'en-tête du paquet.
- CVE-2023-45236 — utilisation de numéros de séquence TCP prévisibles, permettant de s'insérer dans une connexion TCP.
- CVE-2023-45237 — utilisation d'un générateur de nombres pseudo-aléatoires non fiable, produisant des valeurs prévisibles.
Les informations sur les vulnérabilités ont été envoyées à CERT/CC le 3 août 2023, avec une date de divulgation initially prévue pour le 2 novembre. Cependant, en raison de la nécessité d'un lancement coordonné des correctifs impliquant plusieurs fabricants, la date de publication a d'abord été reportée au 1er décembre, puis a été déplacée au 12 décembre et au 19 décembre 2023, mais a finalement été divulguée le 16 janvier 2024. Dans ce contexte, Microsoft a demandé de retarder la divulgation des informations jusqu'en mai.
Source : opennet.ru
