
Le chercheur en sécurité de Google, Tavis Ormandy, a découvert une nouvelle vulnérabilité affectant les processeurs AMD Zen2 qui pourrait permettre à un acteur malveillant de voler des données sensibles, telles que des mots de passe et des clés de chiffrement, à un débit de 30 Ko/s à partir de chaque cœur de processeur.
La vulnérabilité est identifiée comme CVE-2023-20593 et est causée par la mauvaise gestion d’une instruction appelée « vzeroupper » lors de l’exécution spéculative, une technique d’amélioration des performances courante utilisée dans tous les processeurs modernes.
Ormandy a utilisé le fuzzing et les compteurs de performance pour découvrir des événements matériels spécifiques et a validé ses résultats à l’aide d’une approche appelée « Oracle Serialization ».
Avec cette approche, l’auteur a pu détecter des incohérences entre l’exécution du programme généré aléatoirement et son oracle sérialisé, conduisant à la découverte de CVE-2023-20593 dans les CPU Zen2.
Après avoir déclenché un exploit optimisé pour la faille, le chercheur pourrait divulguer des données sensibles de n’importe quelle opération du système, y compris celles qui ont lieu dans des machines virtuelles, des bacs à sable isolés, des conteneurs, etc.
« Cela a pris un peu de travail, mais j’ai trouvé une variante qui peut fuir environ 30 Ko par cœur, par seconde. C’est assez rapide pour surveiller les clés de cryptage et les mots de passe lorsque les utilisateurs se connectent! », A expliqué Ormandy dans une description technique de la faille.
Premier gros résultat de notre nouveau projet de recherche CPU, un use-after-free dans les processeurs AMD Zen2 ! AMD vient de publier une mise à jour du microcode pour les systèmes concernés, veuillez mettre à jour ! https://t.co/NVPWFpVopz pic.twitter.com/HgKwu9w8Av
Le chercheur a signalé la faille à AMD le 15 mai 2023, et aujourd’hui, il a publié un exploit de preuve de concept (PoC) pour CVE-2023-20593.
L’exploit est écrit pour Linux, mais le bogue est indépendant du système d’exploitation, de sorte que tous les systèmes d’exploitation fonctionnant sur des processeurs Zen 2 sont affectés.
La faille affecte tous les processeurs AMD construits sur l’architecture Zen 2, y compris les processeurs Ryzen 3000 (« Matisse »), Ryzen 4000U/H (« Renoir »), Ryzen 5000U (« Lucienne »), Ryzen 7020 et les processeurs haut de gamme ThreadRipper 3000 et Epyc server (« Rome »).
Si votre CPU est impacté par ‘Zenbleed’, il est recommandé d’appliquer la nouvelle mise à jour du microcode d’AMD ou d’attendre que le fournisseur de votre ordinateur intègre le correctif dans une future mise à jour du BIOS.
Alternativement, le chercheur propose la méthode d’atténuation consistant à définir le « chicken bit » sur DE_CFG[9], bien que cette solution de contournement entraînerait une baisse des performances du processeur.
Ormandy conclut qu’il est très probablement impossible de détecter l’exploitation de Zenbleed, car une utilisation inappropriée de « vzeroupper » ne nécessite pas de privilèges élevés ou d’appels système spéciaux et serait donc assez furtive.
L’impact pratique de Zenbleed sur les utilisateurs réguliers est relativement faible, car il nécessite un accès local au système cible et un degré élevé de spécialisation et de connaissances à exploiter.
Cependant, il est essentiel de maintenir les systèmes à jour avec les derniers correctifs de sécurité et d’appliquer les mises à jour du BIOS dès qu’elles sont disponibles.