L’équipe Project Zero de Google a rendu publics les détails d’une vulnérabilité de sécurité zero-day mal corrigée dans l’API du spouleur d’impression Windows qui pourrait être exploitée par un mauvais acteur pour exécuter du code arbitraire.
Les détails de la faille non corrigée ont été révélés publiquement après que Microsoft ne l’a pas corrigée dans les 90 jours suivant la divulgation responsable le 24 septembre.
À l’origine suivi comme CVE-2020-0986, la faille concerne une élévation des exploits de privilèges dans le GDI Print / Spouleur d’impression API (« splwow64.exe ») qui a été signalée à Microsoft par un utilisateur anonyme travaillant avec Zero Day Initiative (ZDI) de Trend Micro fin décembre 2019.
Mais sans patch en vue pendant environ six mois, ZDI a fini par publier un consultatif comme un jour zéro le 19 mai plus tôt cette année, après quoi il exploité dans la nature dans une campagne baptisée « Opération PowerFall« contre une société sud-coréenne anonyme.
«splwow64.exe» est un binaire du système Windows qui permet aux applications 32 bits de se connecter au service de spouleur d’imprimante 64 bits sur les systèmes Windows 64 bits. Il implémente un appel de procédure locale (LPC) serveur qui peut être utilisé par d’autres processus pour accéder aux fonctions d’impression.
L’exploitation réussie de cette vulnérabilité pourrait amener un attaquant à manipuler la mémoire du processus « splwow64.exe » pour exécuter du code arbitraire en mode noyau, l’utilisant finalement pour installer des programmes malveillants; afficher, modifier ou supprimer des données; ou créez de nouveaux comptes avec tous les droits d’utilisateur.
Cependant, pour y parvenir, l’adversaire devrait d’abord se connecter au système cible en question.
Bien que Microsoft finalement adressé la lacune dans le cadre de sa mise à jour de juin Patch Tuesday, de nouvelles découvertes de l’équipe de sécurité de Google révèlent que la faille n’a pas été entièrement corrigée.
« La vulnérabilité existe toujours, seule la méthode d’exploitation a dû changer », Maddie Stone, chercheuse à Google Project Zero m’a dit dans un article.
« Le problème initial était une déréférence de pointeur arbitraire qui permettait à l’attaquant de contrôler les pointeurs src et dest vers un memcpy, » Stone détaillé. « Le ‘correctif’ a simplement changé les pointeurs en décalages, ce qui permet toujours de contrôler les arguments vers le memcpy. »
La faille d’élévation de privilège récemment signalée, identifiée comme CVE-2020-17008, devrait être résolue par Microsoft le 12 janvier 2021, en raison de «problèmes identifiés lors des tests» après avoir promis un correctif initial en novembre.
Stone a également partagé un code d’exploitation de preuve de concept (PoC) pour CVE-2020-17008, basé sur un POC publié par Kaspersky pour CVE-2020-0986.
« Il y a eu trop d’occurrences cette année de zéro-jour connu pour être activement exploité et corrigé de manière incorrecte ou incomplète, » Stone m’a dit. « Quand [in the wild] zero-days ne sont pas complètement résolus, les attaquants peuvent réutiliser leurs connaissances sur les vulnérabilités et exploiter des méthodes pour développer facilement de nouveaux 0-days. «