Nel repository di pacchetti NPM è stata identificata una vulnerabilità che consente al proprietario di un pacchetto di aggiungere chiunque alla lista dei manutentori, senza il consenso dell'utente interessato e senza informarlo dell'azione eseguita. Il problema è aggravato dal fatto che, dopo aver aggiunto un utente esterno come manutentore, l'autore originale del pacchetto può rimuovere se stesso dalla lista dei manutentori e l'utente esterno rimane l'unica persona responsabile del pacchetto.
I creatori di pacchetti malevoli potrebbero sfruttare questa vulnerabilità per aggiungere noti sviluppatori o grandi aziende alla lista dei manutentori, al fine di aumentare la fiducia degli utenti e creare l'illusione che sviluppatori rispettati siano responsabili del pacchetto, mentre in realtà non hanno alcun legame con esso e nemmeno ne conoscono l'esistenza. Ad esempio, un attaccante potrebbe pubblicare un pacchetto malevolo, cambiare il manutentore e invitare gli utenti a testare una nuova iniziativa di una grande azienda. La vulnerabilità potrebbe anche essere utilizzata per danneggiare la reputazione di specifici sviluppatori, presentandoli come autori di attività sospette e azioni malevole.
La compagnia GitHub è stata informata del problema il 10 febbraio e lo ha risolto su npmjs.com il 26 aprile, introducendo la conferma obbligatoria del consenso degli utenti per unirsi a un altro progetto. Gli sviluppatori di molti pacchetti NPM sono stati consigliati di verificare se ci sono legami tra i propri pacchetti aggiunti senza il loro consenso.
Fonte: opennet.ru
