Attention aux utilisateurs de Node.js : L’attaque par confusion de manifeste ouvre la porte aux logiciels malveillants

Le registre npm de l’environnement d’exécution JavaScript Node.js est susceptible de faire l’objet d’une attaque par confusion de manifeste qui pourrait permettre à des acteurs menaçants de dissimuler des logiciels malveillants dans des dépendances de projet ou d’exécuter des scripts arbitraires lors de l’installation.

« Le manifeste d’un paquet npm est publié indépendamment de son fichier tarball », a déclaré Darcy Clarke, ancien responsable de l’ingénierie de GitHub et de npm, dans un document technique publié la semaine dernière. « Les manifestes ne sont jamais entièrement validés par rapport au contenu de l’archive.

« L’écosystème a largement supposé que les contenus du manifeste et de l’archive étaient cohérents », a ajouté Darcy Clarke.

Le problème, à la base, vient du fait que le manifeste et les métadonnées du paquet sont découplés et qu’ils ne sont jamais comparés l’un à l’autre, ce qui entraîne un comportement inattendu et une mauvaise utilisation en cas de non-concordance.

Par conséquent, un acteur menaçant pourrait exploiter cette faille pour publier un module avec un fichier manifeste (package.json) qui contient des dépendances cachées et exécuter des scripts d’installation, ce qui pourrait alors ouvrir la voie à une attaque de la chaîne d’approvisionnement et à l’empoisonnement de l’environnement d’un développeur.

« La confusion des manifestes devient problématique dans les environnements de développement dépourvus de flux de travail et d’outils DevSecOps efficaces, en particulier lorsque les applications font aveuglément confiance aux manifestes d’application plutôt qu’aux fichiers réels (vulnérables ou malveillants) contenus dans les paquets open source », a déclaré Ax Sharma, chercheur et journaliste chez Sonatype.

Cette découverte souligne le fait que les métadonnées contenues dans les fichiers manifestes des paquets ne sont pas suffisantes pour télécharger un paquet à partir d’un dépôt open-source, ce qui oblige les utilisateurs à prendre des mesures pour analyser les paquets à la recherche de caractéristiques anormales et d’exploits. GitHub, selon Clarke, serait au courant du problème depuis au moins le début du mois de novembre 2022, la filiale de Microsoft ayant déclaré qu’elle prévoyait d’y remédier en interne à partir de mars 2023. Toutefois, le problème n’a toujours pas été résolu à ce jour. En l’absence d’un correctif officiel, le chercheur en sécurité Felix Pankratz a mis à disposition un script Python qui peut être utilisé pour tester les incohérences entre les manifestes des modules npm. Ce développement intervient alors que la société de sécurité des développeurs Snyk, en partenariat avec Redhunt Labs, a examiné 11 900 dépôts des 1 000 premières organisations GitHub à la recherche de dépendances non sécurisées, découvrant 1 229 601 failles dans 15 584 fichiers de dépendances vulnérables.

Partager:

Les dernières actualités :