Des modifications malveillantes ont été détectées dans les dépendances du paquet npm contenant l'installateur PureScript.

Dans les dépendances du paquet npm avec l'installateur PureScript un backdoor a été code malveillant se manifestant lors de l'installation du paquet purescript. Le code malveillant est intégré via les dépendances load-from-cwd-or-npm et rate-map. Il est à noter que l'entretien des paquets avec ces dépendances est assuré par l'auteur original du paquet npm avec l'installateur PureScript, qui s'occupait jusqu'à récemment de ce paquet npm, mais il y a environ un mois, le paquet a été transféré à d'autres mainteneurs.

Le problème a été découvert par un des nouveaux mainteneurs du paquet, à qui les droits de maintenance ont été transférés après de nombreuses discordes et discussions désagréables avec l'auteur original du paquet npm purescript. Les nouveaux mainteneurs sont responsables du compilateur PureScript et insistaient sur le fait que le paquet npm avec son installateur devait être entretenu par les mêmes personnes et non par un tiers. L'auteur du paquet npm avec l'installateur PureScript n'était pas d'accord pendant longtemps, mais a finalement cédé et a transmis l'accès au dépôt. Cependant, certaines dépendances restent sous son contrôle.

La semaine dernière, la version 0.13.2 du compilateur PureScript a été publiée et
les nouveaux mainteneurs ont préparé la mise à jour correspondante du paquet npm avec l'installateur, dont les dépendances contenaient du code malveillant. L'auteur du paquet npm avec l'installateur PureScript, démis de ses fonctions, a déclaré que son compte avait été compromis par des attaquants inconnus. Toutefois, dans son état actuel, les actions du code malveillant étaient limitées au sabotage de l'installation du paquet, qui est devenue la première version des nouveaux mainteneurs. Les actions malveillantes consistaient à provoquer une boucle avec un affichage d'erreur lors de la tentative d'installation du paquet avec la commande « npm i -g purescript » sans exécuter d'activité malveillante explicite.

Deux attaques ont été identifiées. Quelques heures après la sortie officielle de la nouvelle version du paquet npm purescript, quelqu'un a créé une nouvelle version de la dépendance load-from-cwd-or-npm 3.0.2, dont les modifications ont conduit au fait que l'appel loadFromCwdOrNpm() renvoyait au lieu de la liste des fichiers binaires nécessaires pour l'installation un flux PassThrough, répliquant les requêtes d'entrée en tant que valeurs de sortie.

Quatre jours après que les développeurs aient identifié la source des pannes et se soient préparés à publier une mise à jour pour exclure load-from-cwd-or-npm des dépendances, un autre package load-from-cwd-or-npm 3.0.4 contenant du code malveillant a été publié par des attaquants. Cependant, presque immédiatement, une mise à jour d'une autre dépendance rate-map 1.0.3 a été publiée, ajoutant un correctif qui bloque l'appel de callback pour le chargement. En d'autres termes, dans les deux cas, les modifications dans les nouvelles versions de load-from-cwd-or-npm et rate-map étaient clairement des actes de sabotage. De plus, le code malveillant contenait une vérification qui activait les actions défaillantes uniquement lors de l'installation des versions récentes, sans se manifester lors de l'installation des anciennes versions.

Les développeurs ont résolu le problème en publiant une mise à jour dans laquelle les dépendances problématiques ont été supprimées. Pour éviter que du code compromis ne reste sur les systèmes des utilisateurs après une tentative d'installation de la version problématique, il est recommandé de supprimer le contenu des répertoires node_modules et des fichiers package-lock.json, puis de fixer la version minimale de purescript à 0.13.2.

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