Découverte de logiciels malveillants embarqués dans le paquet npm ua-parser-js

Découverte de logiciels malveillants embarqués dans le paquet npm ua-parser-js

Le 25 octobre, Sonatype a annoncé avoir identifié la compromission du paquet npm ua-parser-js.

Ce bulletin vous est partagé gratuitement par le CERT-XMCO dans le cadre de son service de Veille en Vulnérabilités, Yuno. Découvrez en détail ce service sur xmco.fr et testez-le gratuitement et sans engagement sur leportail.xmco.fr.

Téléchargée près d’un milliard de fois, et jusqu’à 7 millions de fois par semaine (parfois en tant que dépendance d’autres projets), utilisée par de nombreux grands noms du numérique (comme Facebook, Google ou Amazon), cette bibliothèque permet de récupérer des informations sur la configuration (navigateur, système d’exploitation, etc.) d’un utilisateur visitant un site.

D’après le mainteneur du projet, son compte npm aurait été dérobé et 3 versions de la bibliothèque contenant des mineurs de cryptomonnaies ont été incluses (0.7.29, 0.8.0 et 1.0.0). Les fichiers malveillants identifiés sont identiques à ceux identifiés dans 3 autres paquets npm déjà identifiés par Sonatype la semaine passée, laissant penser qu’un seul et même acteur serait responsable de ces compromissions.

Toutefois, il y a deux différences majeures entre la compromission d’ua-parser-js et celle des 3 autres paquets : l’adresse du portefeuille utilisée par les mineurs et différentes et les versions modifiées d’ua-parser-js déploie également un fichier DLL malveillant sur les systèmes Windows afin de dérober des mots de passe pour plus d’une centaine d’applications Windows populaires (dont Firefox, Chrome, Safari, etc.).

La compromission a été rapidement identifiée et aura duré moins de 4h. Cependant, compte tenu de la popularité de la bibliothèque, l’impact réel de cette attaque est encore à déterminer.

Des correctifs ont été publiés et doivent être installés au plus vite : 0.7.30, 0.8.1 et 1.0.1.


Arthur Gautier

Analyste CERT