Le 8 mai 2018, la ZDI (Zero Day Initiative) de Trend Micro a rapporté à Microsoft l’existence d’une vulnérabilité de type écriture hors limites dans le moteur de base de données Microsoft JET pouvant permettre l’exécution de code à distance. Un attaquant pourrait exploiter cette vulnérabilité pour exécuter du code dans le contexte du processus en cours, Cependant, il nécessite une interaction avec l’utilisateur car la cible doit ouvrir un fichier malveillant. Au jour de la publication du billet (le 20 septembre 2018), la ZDI a souligné que le bogue n’était toujours pas corrigé.
La vulnérabilité
La cause première de ce problème réside dans le moteur de base de données Microsoft JET. Microsoft a corrigé deux autres problèmes dans JET lors des mises à jour Patch Tuesday de septembre. Bien que les bogues corrigés soient répertoriés en tant que débordements de mémoire tampon, ce bogue supplémentaire est en réalité une écriture hors limites, qui peut être déclenchée en ouvrant une source de données Jet via OLEDB. Voici un aperçu du crash résultant:
Pour déclencher cette vulnérabilité, un utilisateur doit ouvrir un fichier spécialement conçu contenant des données stockées au format de base de données JET. Diverses applications utilisent ce format de base de données. Un attaquant utilisant ceci serait capable d’exécuter du code au niveau du processus en cours.
ZDI a déclaré que Microsoft n’avait pas réussi à corriger la faille en temps opportun, c’est la raison pour laquelle le groupe a décidé de rendre le problème public en septembre, afin que les utilisateurs et les entreprises puissent prendre des mesures pour se protéger contre toute tentative d’exploitation.
La vulnérabilité, qui était encore zero-day au moment de la publication de ZDI, a suscité des alarmes, principalement en raison du fait que le moteur de base de données JET est inclus dans toutes les versions de Windows et a fourni aux attaquants un vecteur d’attaque énorme qu’ils pouvaient cibler.
Le moteur JET a été l’une des premières incursions de Microsoft dans les technologies de base de données. Il a été développé dans les années 90 et a été utilisé pour alimenter diverses applications Microsoft, les noms les plus reconnaissables étant Access, Visual Basic, Microsoft Project et IIS 3.0.
JET est devenu obsolète et remplacé par de nouvelles technologies entre-temps, mais il est toujours inclus dans Windows à des fins d’héritage.
Les experts en sécurité de l’information ont critiqué Microsoft pour ne pas avoir corrigé la vulnérabilité, principalement parce qu’elle permettait une compromission complète à distance du système de l’utilisateur.
Ce n’est que dans le Patch Tuesday d’octobre 2018 que Microsoft a finalement proposé un correctif.
Le correctif qui ne colmate pas entièrement la faille
Bien que Microsoft ait corrigé cette vulnérabilité, il semblerait que vous n’êtes pas entièrement protégé. Ce sont les chercheurs de 0patch qui ont averti que le correctif officiel de Microsoft était « incomplet ».
0patch a déclaré que le correctif de Microsoft « ne fait que limiter la vulnérabilité au lieu de l’éliminer. Nous avons immédiatement informé Microsoft à ce sujet et nous ne révélerons aucun détail ni aucune preuve ou concept jusqu’à ce que le correctif soit complet ».
Dans l’intervalle, 0patch a déployé un micropatch qu’il conseille d’installer en attendant que Microsoft fournisse un correctif approprié. La bonne nouvelle est que, jusqu’à présent, ni Microsoft ni 0patch n’ont vu d’attaque exploiter ce vecteur.