Dans le paquet NPM UAParser.js, qui compte 8 millions de téléchargements par semaine, un logiciel malveillant a été intégré.

L'histoire de la suppression de trois paquets malveillants du dépôt NPM, qui copiaient le code de la bibliothèque UAParser.js, a pris une tournure inattendue : des auteurs inconnus ont pris le contrôle du compte de l'auteur du projet UAParser.js et ont publié des mises à jour contenant du code pour voler des mots de passe et miner des cryptomonnaies.

Le problème est que la bibliothèque UAParser.js, qui offre des fonctionnalités pour parser l'en-tête HTTP User-Agent, compte environ 8 millions de téléchargements par semaine et est utilisée comme dépendance dans plus de 1200 projets. Il a été déclaré que UAParser.js est utilisé dans des projets d'entreprises telles que Microsoft, Amazon, Facebook, Slack, Discord, Mozilla, Apple, ProtonMail, Autodesk, Reddit, Vimeo, Uber, Dell, IBM, Siemens, Oracle, HP et Verizon.

L'attaque a été menée par le piratage du compte de l'auteur du projet, qui a réalisé que quelque chose n'allait pas après une vague de spam inhabituelle dans sa boîte de réception. Il n'est pas précisé comment le compte de l'auteur a été piraté. Les attaquants ont créé les versions 0.7.29, 0.8.0 et 1.0.0, en y intégrant du code malveillant. En l'espace de quelques heures, les développeurs ont repris le contrôle du projet et ont créé les mises à jour 0.7.30, 0.8.1 et 1.0.1 pour corriger le problème. Les versions malveillantes ont été publiées uniquement sous forme de paquets dans le dépôt NPM. Le dépôt Git du projet sur GitHub n'a pas été compromis. Tous les utilisateurs ayant installé les versions concernés, en détectant dans Linux/macOS le fichier jsextension, et dans Windows les fichiers jsextension.exe et create.dll, sont invités à considérer leur système comme compromis.

Les modifications malveillantes ajoutées ressemblaient aux changements précédemment proposés dans les clones de UAParser.js, qui, apparemment, avaient été publiés pour tester la fonctionnalité avant de mener une attaque à grande échelle sur le projet principal. Un fichier exécutable jsextension était téléchargé et exécuté sur le système de l'utilisateur à partir d'un hôte externe, sélectionné en fonction de la plateforme de l'utilisateur et fonctionnant sous Linux, macOS et Windows. Pour la plateforme Windows, en plus du programme de minage de cryptomonnaie Monero (le mineur XMRig était utilisé), les attaquants avaient également organisé l'intégration de la bibliothèque create.dll pour intercepter les mots de passe et les envoyer vers un hôte externe.

Le code de téléchargement a été ajouté au fichier preinstall.sh, qui contient l'insertion IP=$(curl -k https://freegeoip.app/xml/ | grep 'RU|UA|BY|KZ') if [ -z "$IP" ] ... téléchargement et exécution de l'exécutable fi

Comme le montre le code, le script vérifiait d'abord l'adresse IP sur le service freegeoip.app et ne lançait pas l'application malveillante pour les utilisateurs de Russie, d'Ukraine, de Biélorussie et du Kazakhstan.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster