Une bibliothèque JavaScript mise à jour efface les fichiers des ordinateurs russes. La solution introduit une vulnérabilité de sécurité pour détruire les ordinateurs russes.

Le développeur de la bibliothèque JavaScript node-ipc, qui est utilisée par le célèbre framework vue.js, a délibérément introduit une vulnérabilité de sécurité critique qui, pour certains internautes, détruirait les fichiers de leurs ordinateurs.

Brandon Nozaki Miller, alias RIAEvangelist sur GitHub, a créé node-ipc, qui est récupéré environ un million de fois par semaine dans le registre NPM, et est décrit comme un « module de communication inter-processus pour Node, prenant en charge les sockets Unix, TCP, TLS et UDP ».

Il apparaît que Miller a intentionnellement modifié son code pour écraser les données du système hôte, puis a modifié le code pour afficher un message appelant à la paix dans le monde, en guise de protestation contre l’invasion de l’Ukraine par la Russie. GitHub a déclaré mercredi qu’il s’agissait d’une vulnérabilité critique suivie comme CVE-2022-23812.

« Le code malveillant était destiné à écraser des fichiers arbitraires dépendant de la géolocalisation de l’adresse IP de l’utilisateur », a déclaré le biz appartenant à Microsoft.

Entre le 7 et le 8 mars, les versions 10.1.1 et 10.1.2 de la bibliothèque ont été publiées. Lorsqu’elles sont importées en tant que dépendance et exécutées par un projet, elles vérifient si la machine hôte a une adresse IP en Russie ou en Biélorussie, et si c’est le cas, elles écrasent tous les fichiers qu’elles peuvent avec un symbole de cœur. La version 10.1.3 a été publiée peu après sans cette fonctionnalité destructrice ; 10.1.1 et 10.1.2 ont été supprimées du registre NPM.

La version 11 a ensuite été publiée, et la semaine suivante la version 9.2.2. Toutes deux ont apporté un nouveau paquet de Miller appelé peacenotwar, qui crée des fichiers appelés WITH-LOVE-FROM-AMERICA.txt sur le bureau des utilisateurs et dans les dossiers OneDrive. Ce fichier texte est censé contenir un message du développeur indiquant, entre autres, que « la guerre n’est pas la réponse, quelle que soit la gravité de la situation », mais certaines personnes ont signalé que le fichier était vide.

Chaque fois que les versions 11 ou 9.2.2 de node-ipc sont utilisées comme dépendance par un autre projet, elles apportent peacenotwar et l’exécutent, laissant des fichiers sur les ordinateurs des gens. La version 9.2.2 a disparu du registre de NPM en même temps que les versions 10.1.x destructrices. Vue.js, par exemple, a utilisé node-ipc 9.2.2 tant qu’il était disponible, car la version 9.x est considérée comme une branche stable, ce qui signifie qu’il y a eu une période pendant laquelle certains développeurs Vue ont pu voir apparaître des fichiers .txt de manière inattendue.

En d’autres termes, peu de gens ont récupéré la version destructive, car les grandes applications et les frameworks ont utilisé la branche stable, qui a laissé tomber les fichiers .txt pendant un court moment. Ceux qui utilisent des versions de pointe ont peut-être vu leurs fichiers disparaître ou ont trouvé des manifestes enregistrés sur leur ordinateur.

Une chronologie des événements a été documentée par le groupe de sécurité informatique Snyk. Nous notons que la page d’accueil du module node-ipc sur NPM indique « à partir de la version 11, ce module utilise le module peacenotwar ».

Miller a défendu son module peacenotwar sur GitHub, affirmant que « tout ceci est public, documenté, sous licence et open source ». Plus tôt, il y avait plus de 20 problèmes signalés contre node-ipc à propos de son mauvais comportement, et juste maintenant beaucoup plus sur peacenotwar.

Certains des commentaires qualifient la création de Miller de « protestware ». D’autres pourraient l’appeler « malware ». Le programmeur n’a pas été disponible pour un commentaire.

Quelqu’un a même affirmé qu’une ONG américaine avait vu ses fichiers de production sur un système détruit par node-ipc car elle exécutait la bibliothèque sur un serveur de surveillance en Biélorussie avec une adresse IP qui a déclenché le code d’effacement des données.

L’essor continu du framework JavaScript Node.js a donné au monde un tout nouveau type de vulnérabilité logicielle.

Le gestionnaire de paquets de Node est NPM, qui est aujourd’hui supervisé et détenu par GitHub avec le registre de modules de NPM. Cet outil permet aux applications Node d’intégrer automatiquement d’autres bibliothèques de code directement à partir de dépôts en ligne. Il en résulte un grand nombre de téléchargements pour de nombreux modules, ce qui signifie que de petites modifications du code peuvent se propager très rapidement sur un grand nombre d’ordinateurs.

La version  » file-dropping  » de node-ipc s’est retrouvée dans la version 3.1 de Unity Hub, un outil pour le très populaire moteur de jeux Unity – bien qu’elle ait été retirée le même jour.

« Ce correctif élimine un problème où une bibliothèque tierce a pu créer un fichier texte vide sur le bureau des personnes utilisant cette version », a écrit l’équipe d’Unity. « Bien qu’il s’agisse d’une nuisance, le problème ne comportait pas de fonctionnalité malveillante. Tout utilisateur qui a vu ce fichier apparaître sur son bureau après avoir mis à jour le Hub Unity peut le supprimer.  »

C’est loin d’être la première fois qu’une telle chose se produit. En 2016, un développeur a retiré sa minuscule bibliothèque leftpad de NPM, brisant des milliers d’autres apps. Plus tôt cette année, un autre développeur a ajouté un changement de rupture à sa bibliothèque en guise de protestation.

La société d’informatique WhiteSource a déclaré plus tôt cette année avoir détecté en 2021 1 300 paquets NPM malveillants. Elle les a signalés à npm, qui les a discrètement supprimés.

javascript seo inside

SEO Inside est une agence SEO.

 

--

 

SEO Inside est une agence web et SEO - en savoir plus sur nous:

Agence web / Audit SEO / Conseil SEO / Création de site internet / Refonte de site internet optimisé pour le SEO / Référencement naturel / Référencement local /Netlinking / Formation SEO / E-Réputation et avis

Voici nos implantations :
Lille / Dunkerque / Amiens – ce sont nos 3 bureaux historiques.

Puis voici nos zones géographiques d’intervention :
Paris / Abbeville / Rouen / Compiègne / Reims / Metz / Caen / Evreux / Nancy / Colmar / Rennes / Le Mans / Orléans / Dijon / Besançon / Angers / Nantes / La Rochelle / Poitiers / Limoges /Clermont-Ferrand / Lyon / Annecy / Grenoble / Valence / Bordeaux / Montauban / Toulouse / Biarritz / Montpellier / Marseille / Cannes / Nice / Avignon / Monaco

SEO INSIDE est une agence web spécialiste en référencement naturel qui se veut proche de vous. Contactez-nous pour discuter de vos projets.