Des chercheurs ont identifié que des milliers de développeurs JavaScript utilisent une adresse e-mail avec un domaine expiré pour leurs comptes npm, laissant leurs projets exposés à des risques de détournements faciles, s'étonne The Record.
L'étude, réalisée l'année dernière par des chercheurs de Microsoft et de la North Caroline State University, a analysé les métadonnées de 1 630 101 bibliothèques téléchargées sur Node Package Manager (npm), le référentiel de facto pour les bibliothèques JavaScript et le plus grand référentiel de packages sur Internet.
Or, 2 818 responsables de projets, gérant 8 494 packages, utilisaient encore une adresse e-mail pour leurs comptes dont le domaine avait expiré. Certains étaient même en vente sur des sites comme GoDaddy.
Des attaquants pourraient dès lors acheter ces domaines, réenregistrer l'adresse du responsable sur leurs propres serveurs de messagerie, puis réinitialiser le mot de passe du compte du responsable et reprendre ses packages npm.
Les chercheurs ont également souligné que de nombreuses bibliothèques et comptes npm sont soit non maintenus (58,7%) soit abandonnés (44,3%), et qu'il y aurait de grandes chances que les attaquants puissent mener leurs attaques sans même que les mainteneurs s'en aperçoivent.
Une attaque comme celle-ci fonctionnerait car le portail npm n'applique pas l'authentification à deux facteurs (2FA) pour les propriétaires de compte, ce qui signifie qu'une fois que l'attaquant a réinitialisé le mot de passe du propriétaire, il serait libre de modifier les packages avec tout autre obstacle.
npm a depuis annoncé son intention de commencer lentement à appliquer 2FA pour les comptes de développeur. Ce processus devait se dérouler en plusieurs étapes, les comptes des 100 meilleurs responsables étant inscrits au 2FA obligatoire au début de ce mois.