Une vulnérabilité de traversée de chemin dans le binaire UnRAR de RarLab peut conduire à l’exécution de code à distance (RCE) sur la plate-forme de messagerie professionnelle Zimbra et peut potentiellement affecter d’autres logiciels.
L’utilitaire UnRAR est utilisé pour extraire les archives RAR dans un répertoire temporaire à des fins d’analyse antivirus et anti-spam.
Cependant, une faille d’écriture de fichier récemment corrigée (CVE-2022-30333) signifie qu’un attaquant non authentifié peut « créer des fichiers en dehors du répertoire d’extraction cible lorsqu’une application ou un utilisateur victime extrait une archive non approuvée », selon un article de blog publié par Simon Scannell, chercheur en vulnérabilité à la société de sécurité suisse Sonar (anciennement SonarSource).
Si des pirates malveillants parviennent à écrire dans un emplacement connu, a poursuivi Scannell, ils pourraient potentiellement exécuter des commandes arbitraires sur le système.
L’exploitation réussie du problème de gravité élevée (CVSS 7.5) sur Zimbra, une plate-forme open source utilisée par plus de 200 000 entreprises, « donne à un attaquant l’accès à chaque e-mail envoyé et reçu sur un serveur de messagerie compromis ».
Ils peuvent également accéder en silence aux fonctionnalités de connexion par porte dérobée et voler les informations d’identification des utilisateurs, ainsi qu’augmenter l’accès aux autres services internes d’une organisation, a averti Scannell.
Contournement de la protection des liens symboliques
La faille réside dans le mécanisme d’UnRAR pour empêcher attaques par lien symbolique (symlink) sur les systèmes Unix, où la fonction de validation des liens symboliques relatifs, IsRelativeSymLinkSafe()vérifie si la cible du lien symbolique contient ../ sous Unix ou .. sur Windows.
Cette vérification peut cependant être annulée en raison du fait qu’une entrée non fiable est parfois modifiée après avoir été validée, ce qui casse les hypothèses faites lors de l’étape de validation.
Plus précisément, une fois le lien symbolique validé, UnRAR convertit les barres obliques inverses () en barres obliques (/) avec DosSlashToUnix() pour s’assurer qu’une archive RAR créée sous Windows peut être extraite sur un système Unix.
« En exploitant ce comportement, un attaquant peut écrire un fichier n’importe où sur le système de fichiers cible », a déclaré Scannell.
RCE sur Zimbra
Étant donné que le filtre de contenu Amavis utilisé par Zimbra pour analyser les fichiers extraits fonctionne en tant qu’utilisateur Zimbra, a ajouté Scannell, la primitive d’écriture de fichier permet également la création et l’écrasement de fichiers dans les répertoires de travail d’autres services.
Le chercheur a détaillé comment un attaquant pourrait réaliser RCE sur Zimbra en écrivant un shell JSP dans le répertoire Web, en utilisant une injection de commande basée sur un fichier ou en créant une clé SSH.
Sonar a informé RarLab de la faille le 4 mai 2022 et un correctif de sécurité a été inclus avec les binaires de la version 6.12, qui ont été publiés le 6 mai.
Le développeur de Zimbr, Synacor, a également été averti de la faille le 4 mai afin qu’il puisse avertir les utilisateurs de corriger leurs instances cloud.
Un article de blog détaillant les détails techniques a été publié hier (28 juin).
Seuls les binaires Unix – à l’exclusion d’Android – et les implémentations utilisant le code de RarLab sont concernés.
Merci à tous
Eugene Roshal, le développeur d’UnRAR ainsi que du format de fichier RAR et de l’archiveur de fichiers WinRAR, a remercié Scannell et Sonar d’avoir signalé la vulnérabilité et alerté les développeurs utilisant UnRAR dans leur logiciel Unix.
« Ils ont correctement mentionné le code vulnérable à l’intérieur de ExtractUnixLink50 fonction dans ulinks.cpp », a déclaré Roshal. « Précédemment IsRelativeSymlinkSafeIsRelativeSymlinkSafeIsRelativeSymlinkSafe a reçu un nom de chemin avant de convertir les barres obliques inverses en barres obliques. Maintenant, il reçoit un nom de chemin après cette conversion. »
Scannell a remercié les développeurs de RarLab pour « leur traitement très rapide et professionnel de ce problème », et a crié à l’équipe de sécurité de Zimbra pour « avoir averti leurs clients d’aider à prévenir l’exploitation ».
Zimbra est en quelque sorte une spécialité de Sonar, dont les chercheurs ont découvert au cours des 12 derniers mois une chaîne de bogues menant à une compromission complète du serveur Zimbra, une faille XSS qui a alimenté des campagnes de harponnage et, il y a seulement deux semaines, une vulnérabilité d’injection memcached qui a mis en péril identifiants de connexion.