Pendant plusieurs mois, deux failles critiques qui auraient dû être bloquées par Microsoft en août 2022 sont restées béantes et la raison de ce problème est inattendue : Microsoft a inversé deux valeurs dans le correctif qui devait empêcher l'exploitation des deux failles.
Le mauvais hash
Les deux failles en question ont été présentées à la conférence DEF CON 30 et passent par des failles dans des fichiers liés à l'UEFI, c'est-à-dire le programme qui gère le démarrage de certains ordinateurs. La majorité des PC et les Mac Intel, par exemple, contiennent un UEFI. Pour arrêter les malandrins qui exploitent des failles dans l'UEFI, Microsoft propose une liste noire de fichiers qui doivent être bloqués. Nous avons parlé de cette dernière dans le cas d'une autre faille, Black Lotus, parce que cette liste de révocation est inutile dans certains cas.
BlackLotus, la faille « magique » impossible à patcher qui attaque l'UEFI et Windows
La découverte d'Eset — une entreprise spécialisée dans la sécurité — est presque risible : au moment de placer les bootloaders dans la liste noire, Microsoft s'est trompé de hash. Un hash, pour résumer, est une suite de caractères obtenue à travers une fonction mathématique. Ce hash est normalement unique : deux fichiers ne peuvent pas avoir le même hash et cette solution est donc souvent employée pour vérifier l'authenticité d'un fichier, que ce soit pour confirmer sa provenance ou — dans le cas présent — le bloquer.
Dans la pratique, la personne qui a ajouté les hash dans la base — il y en a plusieurs — a inversé les valeurs du hash SHA 256 FLAT (l'identifiant du fichier, en résumant) et le PE256 Authenticode (une signature liée à l'exécution). Cette erreur rendait de facto la liste de révocation inutile.
Dans sa liste de tweets, Eset explique que le problème a été découvert chez eux le 24 février 2023 et que Microsoft a mis à jour sa liste pour corriger le souci le 14 mars 2023. Comme souvent avec ce genre de liste, les appareils dont l'UEFI a été mis à jour entre août 2022 et mars 2023 sont donc vulnérables et la seule solution pour régler le problème est de mettre à jour l'UEFI avec la nouvelle version de la liste. Notons enfin qu'Eset indique qu'ils n'ont pas trouvé d'indices de l'exploitation des deux failles, ce qui ne veut pas dire qu'il n'y en a pas eu.
Source : Image d'ouverture : Sebastian Derungs, CC BY-SA 2.0,