Une faille vieille de 19 ans chez WinRAR

Le très célèbre utilitaire d'archivage, sans doute l'un des programmes les plus utilisés au monde, a pendant près de 20 ans exposé ses utilisateurs à une attaque, puisqu'une bibliothèque défectueuse et non mise à jour depuis 2006 permettait d'extraire des fichiers malveillants directement dans le dossier de démarrage du terminal ciblé.

Au cours d'un test de fuzzing sur WinRAR, les chercheurs de Check Point Software ont découvert une série de vulnérabilités affectant l'utilitaire. La faille est aussi grave qu'elle est ancienne : elle est nichée au cœur d'une library, unacev2.dll, destinée à décompresser les archives ACE, une bibliothèque compilée en 2006 et inchangée depuis. En d'autres termes, voilà 19 ans que cette vulnérabilité touche WinRAR, mais aussi tout autre logiciel qui prendrait en charge cette library.

Et la faille est particulièrement sévère, puisqu'elle permet de détourner l'utilitaire d'archivage afin d'exécuter du code malveillant sur l'ordinateur de la victime. En effet, ce bug « logique » fait en sorte que le dossier de destination du fichier décompressé soit choisi non pas par l'utilisateur, mais en fonction du header nom de fichier entré par le créateur de l'archive. Ce qui ouvre la porte à l'extraction d'un programme malveillant directement dans le dossier de démarrage du terminal.

Chemin absolu

Si WinRAR est bien doté d'une fonction de validation avant l'extraction des archives ACE, qui vérifie le champ nom de fichier de destination, sa « valeur de retour » est effectuée trop tard dans unacev2.dll, soit après la création de fichiers et de dossiers. Les chercheurs ont ainsi pu extraire un fichier exécutable dans le dossier de démarrage de Windows, de telle sorte qu'il soit exécuté au redémarrage suivant. 

Avertie du problème, l'équipe de WinRAR a publié une mise à jour de son programme. Dans la liste des correctifs, il est expliqué que UNACEV2.DLL n'a pas été mis à jour depuis 2005 et que les développeurs de WinRAR n'ont pas accès à son code source. Il semble en effet que l'entreprise à l'origine de cette bibliothèque ait depuis longtemps mis la clé sous la porte. En conséquence, la seule correction possible de cette vulnérabilité a consisté chez WinRAR à supprimer UNACEV2.DLL et à cesser la prise en charge du format ACE.