VU#211341 : Une vulnérabilité dans l'application UEFI Insyde H2O l'injection de certificat numérique via variable NVRAM
Une vulnérabilité dans le firmware UEFI Insyde H2O permet l'injection de certificats numériques via une variable NVRAM protégée. Ce problème découle de l'utilisation non sécurisée d'une variable NVRAM, qui est utilisée comme stockage fiable pour un certificat numérique dans la chaîne de validation de confiance. Un attaquant peut stocker son propre certificat dans cette variable et exécuter ensuite du code firmware arbitraire pendant le processus de démarrage précoce dans l'environnement UEFI. Les applications UEFI doivent être signées et vérifiées pour l'exécution sous Secure Boot, et les signatures peuvent provenir de l'OEM ou des entrées dans la base de données de signature du système. La vulnérabilité a été identifiée en raison de l'utilisation d'une variable NVRAM non fiable, SecureFlashCertData, pour stocker et échanger des clés publiques. Parce que cette variable NVRAM n'est pas protégée, elle peut être mise à jour à l'exécution, permettant à un attaquant d'injecter ses propres clés. Pour atténuer cette vulnérabilité, les modules UEFI affectés doivent être mis à jour via des mises à jour de firmware fournies par le vendeur. Les outils d'analyse de sécurité du firmware peuvent également inspecter les variables affectées dans les images de firmware pour évaluer l'exposition à cette vulnérabilité. Un attaquant capable de modifier la variable NVRAM SecureFlashCertData à l'exécution peut l'utiliser pour injecter son certificat numérique et contourner Secure Boot. Cela permet du code non signé ou malveillant de s'exécuter avant que le système d'exploitation ne charge, ce qui peut installer des logiciels malveillants persistants ou des rootkits de noyau qui survivent aux redémarrages et aux réinstallations du système d'exploitation.