npm : une porte dérobée a été découverte dans le paquet getcookies
Qui a des dépendances imbriquées avec le paquet populaire Mailparser

Le , par Blondelle Mélina, Chroniqueuse Actualités
npm de npm, Inc est à JavaScript ce que le célèbre Maven de la fondation Apache est à Java. Il fournit des outils de gestion du cycle de vie de l'application, et il s'adosse à un registre de packages pour gérer efficacement les dépendances d'exécution et de développement des projets JavaScript, qu'ils soient backend ou frontend.

L'équipe du gestionnaire de paquets de Node (npm) a découvert un mécanisme de porte dérobée intelligemment caché à l'intérieur d'un paquet JavaScript populaire obsolète.


Le mécanisme réel de la porte dérobée a été trouvé dans « getcookies », un paquet npm (ou Node Package Manager) relativement récent (bibliothèque JavaScript) qui fonctionne avec les cookies du navigateur. L'équipe npm a analysé ce paquet. Les rapports de l'équipe disent que getcookies contient un système complexe pour recevoir les commandes d'un attaquant distant qui pourrait cibler n'importe quelle application JavaScript qui a incorporé cette bibliothèque. L'équipe npm explique : la porte dérobée fonctionne en analysant les requêtes HTTP request.headers fournies par l'utilisateur à la recherche de données spécifiquement formatées.

Selon l'équipe npm, la porte dérobée « permettait à un attaquant de saisir du code arbitraire sur un serveur en cours d'exécution et de l'exécuter ».
Le module backdoor d'origine a été importé dans d'autres paquets. La bibliothèque getcookies était nouvelle et pas très populaire. Etant inclus dans très peu de projets. L'équipe npm dit qu'elle a découvert une chaîne de dépendances imbriquées à travers laquelle le paquet getcookies avait indirectement fait partie de la structure d'une bibliothèque très populaire appelée Mailparser.


Mailparser est un paquet npm pour analyser les données de courrier électronique en utilisant JavaScript. En dépit d'être obsolète, Mailparser reçoit encore environ 64 000 téléchargements hebdomadaires. Néanmoins, l'équipe npm rappelle que les utilisateurs de Mailparser n'ont pas été touchés. Seuls les utilisateurs ayant directement besoin d'utiliser les paquets express-cookies ou getcookies sont impactés.

En août 2017, la même équipe de npm avait supprimé 38 paquets npm qui volaient des variables d'environnement à partir de projets infectés. Quelque chose de similaire s'est passé sur PyPI (Python Package Index), le référentiel de logiciels tiers officiel pour le langage de programmation Python. En septembre 2017, le Bureau de la sécurité nationale slovaque (NBU) a découvert et signalé dix paquets Python malveillants sur PyPI, qui ont été rapidement retirés.

L'équipe a entrepris des actions pour résoudre le problème. Elle a commencé par supprimer l'utilisateur « dustin87 » derrière l'attaque. Puis, supprimer les getcookies non publiés, les cookies express et les cookies http-fetch. Ils ont également déployé Mailparser version 2.2.0, supprimant trois versions (2.2.3, 2.2.2 et 2.2.1) qui contenaient le paquet malveillant http-fetch-cookies. Ils ont aussi réinitialisé les jetons npm pour les utilisateurs de Mailparser afin d'empêcher d'autres publications non autorisées.


Source : npm blog

Et vous ?

Qu'en pensez-vous ?

Voir aussi :

npm 6.0.0, le gestionnaire de paquets officiel de Node.js. passe en @latest, et se concentre désormais sur la sécurité
npm 5.7.0 retiré de la circulation à peine deux jours après sa sortie, la version 5.7.1 publiée pour corriger un problème critique
npm en version 5.7.0 est maintenant disponible, l'alignement vers les pratiques DevOps se poursuit


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de Aiekick Aiekick - Membre chevronné https://www.developpez.com
le 04/05/2018 à 16:14
conclusion ne faites confiance a aucun framework ou librairie, faites tous vous mème, devenez un expert sinon vous êtes foutu ...
Avatar de psychadelic psychadelic - Membre émérite https://www.developpez.com
le 05/05/2018 à 0:03
Citation Envoyé par Aiekick Voir le message
conclusion ne faites confiance a aucun framework ou librairie, faites tous vous mème, devenez un expert sinon vous êtes foutu ...
Ah bon ?
on devrait tous coder en Assembleur sur de machines "nues" pour lesquelles chacun devrai développer tout à zéro, en commençant par le systeme d'exploitation ?

Et si on veut pousser plus loin cette logique, il faudrait aussi que chacun fonde lui même son propre microprocesseur, parce qu'avec les puces elles-mêmes les constructeurs on pu y mettre des portes dérobées..
Avatar de Aiekick Aiekick - Membre chevronné https://www.developpez.com
le 08/05/2018 à 4:25
je vois que l’ironie a du mal a être perçue de nos jours par certaine personnes....

j'aurais du mettre des smiley ??
Avatar de Marco46 Marco46 - Modérateur https://www.developpez.com
le 08/05/2018 à 10:44
Oui, impossible de savoir que tu es ironique à la lecture de ton post, on voit pas ton visage et on entend pas le son de ta voix.
Contacter le responsable de la rubrique Accueil