Developpez.com

Le Club des Développeurs et IT Pro

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 2018-05-04 00:08:13, 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
  Discussion forum
5 commentaires
  • Marco46
    Expert éminent sénior
    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.
  • Aiekick
    Membre extrêmement actif
    conclusion ne faites confiance a aucun framework ou librairie, faites tous vous mème, devenez un expert sinon vous êtes foutu ...
  • psychadelic
    Expert confirmé
    Envoyé par Aiekick
    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..
  • Aiekick
    Membre extrêmement actif
    je vois que l’ironie a du mal a être perçue de nos jours par certaine personnes....

    j'aurais du mettre des smiley ??
  • Aiekick
    Membre extrêmement actif
    je pensais que le "faites tous vous mème" était clair non ? qui peut être extrême en disant ça sans que ce ne soit ironique ?