Modification malveillante apportée au package NPM node-ipc qui supprime des fichiers sur les systèmes en Russie et en Biélorussie

Une modification malveillante a été identifiée dans le package node-ipc NPM (CVE-2022-23812) qui a 25 % de chances de remplacer le contenu de tous les fichiers ayant un accès en écriture par un caractère « ❤️ ». Le code malveillant n'est activé que lorsqu'il est lancé sur des systèmes dotés d'adresses IP de Russie ou de Biélorussie. Le package node-ipc compte environ un million de téléchargements par semaine et est utilisé comme dépendance pour 354 packages, dont vue-cli. Tous les projets qui ont node-ipc comme dépendances sont également concernés.

Le code malveillant a été publié dans le référentiel NPM dans le cadre des versions node-ipc 10.1.1 et 10.1.2. Une modification malveillante a été publiée dans le référentiel Git du projet au nom de l'auteur du projet il y a 11 jours. Le pays a été déterminé dans le code en appelant le service api.ipgeolocation.io. La clé accédée par l'API ipgeolocation.io à partir d'une insertion malveillante a désormais été révoquée.

Dans les commentaires sur l'avertissement concernant l'apparition de code douteux, l'auteur du projet a déclaré que le changement se résume à l'ajout d'un fichier sur le bureau affichant un message appelant à la paix. En effet, le code effectuait une énumération récursive des répertoires avec une tentative d'écrasement de tous les fichiers rencontrés.

Plus tard, les versions node-ipc 11.0.0 et 11.1.0 ont été placées dans le référentiel NPM, qui, au lieu du code malveillant intégré, a ajouté la dépendance externe « peacenotwar », contrôlée par le même auteur et proposée à l'inclusion par package. les responsables qui souhaitent se joindre à la manifestation. Il est indiqué que le package PeacenotWar affiche uniquement un message sur le monde, mais compte tenu des actions déjà entreprises par l'auteur, le contenu ultérieur du package est imprévisible et l'absence de changements destructeurs n'est pas garantie.

En parallèle, une mise à jour a été publiée pour la branche stable node-ipc 9.2.2, utilisée par le projet Vue.js. Dans la nouvelle version, en plus de Peacenotwar, le package Colors a également été ajouté au nombre de dépendances, dont l'auteur a intégré des modifications destructrices dans le code en janvier. La licence source de la nouvelle version est passée de MIT à DBAD.

Étant donné que les prochaines étapes de l'auteur sont imprévisibles, il est conseillé aux utilisateurs de node-ipc de corriger les dépendances sur la version 9.2.1. Les versions verrouillables sont également recommandées pour d'autres développements du même auteur qui a maintenu 41 packages. Certains des packages maintenus par le même auteur (js-queue, easy-stack, js-message, event-pubsub) comptent environ un million de téléchargements par semaine.

Addendum : D'autres tentatives d'ajout d'actions à divers packages ouverts qui ne sont pas liées à la fonctionnalité directe des applications et sont liées aux adresses IP ou aux paramètres régionaux du système sont également enregistrées. Les plus inoffensifs de ces changements (es5-ext, rete, PHP composer, PHPUnit, Redis Desktop Manager, Awesome Prometheus Alerts, verdaccio, filestash) se résument à mettre fin à la guerre pour les utilisateurs de Russie et de Biélorussie. Dans le même temps, des manifestations plus dangereuses sont également révélées, par exemple, un chiffreur a été ajouté aux packages de modules AWS Terraform et des restrictions politiques ont été introduites dans la licence. Le firmware Tasmota pour les appareils ESP8266 et ESP32 possède un onglet intégré qui peut bloquer le fonctionnement des appareils. On suppose qu’une telle activité peut sérieusement miner la confiance dans les logiciels open source.

Source: opennet.ru

Ajouter un commentaire