La célèbre bibliothèque UAParser.js de JavaScript est infectée par un malware

Le package NPM de la bibliothèque UAParser.js, installée sur des dizaines de millions d’ordinateurs dans le monde, a été infectée par un voleur de mots de passe et un mineur. Voici ce que vous devez faire.

Des cybercriminels non identifiés ont compromis plusieurs versions de la célèbre bibliothèque UAParser.js de JavaScript en injectant un code malveillant. Selon des statistiques publiées sur la page du développeur, de nombreux projets utilisent cette bibliothèque, téléchargée entre 6 et 8 millions de fois par semaine.

Les malfaiteurs s’en sont pris à trois versions de la bibliothèque : 0.7.29, 0.8.0 et 1.0.0. Tous les utilisateurs et administrateurs doivent mettre à jour la bibliothèque et installer dès que possible les versions 0.7.30, 0.8.1 et 1.0.1, respectivement.

Qu’est-ce que l’outil UAParser.js et pourquoi est-il tant utilisé ?

Les développeurs de JavaScript utilisent la bibliothèque UAParser.js pour analyser les données agent utilisateur (User-Agent) que les navigateurs envoient. L’outil est implanté dans de nombreux sites et utilisé par de nombreuses entreprises dans leur processus de développement de programmes, y compris par Facebook, Apple, Amazon, Microsoft, Slack, IBM, HPE, Dell, Oracle, Mozilla et bien d’autres. De plus, certains développeurs de programmes ont recours à des instruments tiers, comme l’environnement Karma pour tester les codes, qui dépendent aussi de cette bibliothèque, ce qui augmente d’autant plus l’ampleur de l’attaque puisqu’un lien est ajouté à la chaîne d’approvisionnement.

L’introduction d’un code malveillant

Les cybercriminels ont intégré des scripts malveillants dans la bibliothèque afin de télécharger un code malveillant et de l’exécuter sur l’ordinateur de la victime, que le système d’exploitation soit Linux ou Windows. Un des objectifs du module est de miner de la cryptomonnaie. Un autre, qui ne touche que Windows, peut aussi voler des informations confidentielles telles que les cookies du navigateur, les mots de passe et les identifiants du système d’exploitation.

Pourtant, ce n’est pas tout. Selon une alerte publiée par l’agence américaine Cybersecurity and Infrastructure Protection Agency (CISA), l’installation de bibliothèques vulnérables pourrait permettre aux escrocs de prendre le contrôle des systèmes infectés.

Selon les utilisateurs de GitHub, le malware crée des fichiers binaires : jsextension (pour Linux) et jsextension.exe (pour Windows). La présence de ces fichiers indique clairement que le système a été compromis.

Comment le code malveillant a-t-il eu accès à la bibliothèque UAParser.js ?

Faisal Salman, développeur du projet UAParser.js, a expliqué qu’un cybercriminel non identifié a eu accès à son compte via le gestionnaire NPM et a publié trois versions malveillantes de la bibliothèque UAParser.js. Le développeur a immédiatement ajouté un avertissement aux versions dangereuses et a contacté l’assistance de NPM, qui a rapidement supprimé les versions concernées. En revanche, de nombreux dispositifs pourraient avoir téléchargé ces versions tant qu’elles étaient en ligne.

Apparemment, elles n’ont été disponibles qu’un peu de plus de quatre heures, entre 14h15 et 18h23 le 22 octobre. Le développeur s’est rendu compte dans la journée qu’il recevait beaucoup plus de spams que d’habitude, ce qui a éveillé ses soupçons et lui a permis de trouver l’origine du problème. Nous ne pouvons pas vraiment savoir combien de fois les éléments infectés ont été téléchargés mais, trois jours après l’incident, le code malveillant était encore détecté par les solutions de sécurité de dizaines d’entreprises qui utilisent nos produits dans le monde entier.

Que faire si vous avez téléchargé une bibliothèque infectée ?

La première étape consiste à analyser l’ordinateur pour voir s’il y a un malware. Nos produits détectent tous les composants du malware utilisé lors de cette attaque.

Vous devez ensuite mettre à jour la bibliothèque et installer la version corrigée : 0.7.30, 0.8.1 ou 1.0.1. Mais cela ne suffit pas. Selon l’alerte, tout dispositif ayant installé ou exécuté une version infectée de la bibliothèque devrait être considéré comme complètement compromis. Ainsi, les utilisateurs et les administrateurs devraient modifier tous les identifiants utilisés sur ces dispositifs.

En général, les environnements de développement ou de compilation sont des cibles attrayantes pour les cybercriminels qui essaient d’organiser des attaques de la chaîne d’approvisionnement. Cela signifie que ces environnements ont besoin de toute urgence d’une protection anti-malware.

Conseils