Duizenden npm-packages zijn dankzij verlopen domeinnamen over te nemen, zo hebben onderzoekers ontdekt. Npm is de standaard package manager voor de JavaScript-omgeving Node.js en naar eigen zeggen het grootste softwarearchief ter wereld. Npm-packages worden beheerd door maintainers.
Onderzoekers van NC State University en Microsoft analyseerde de metadata van 1,63 miljoen npm-packages. Ze vonden ruim 2800 e-mailadressen van maintainers die aan verlopen domeinnamen waren gekoppeld. Via deze verlopen domeinnamen is het mogelijk om 8500 npm-packages over te nemen.
Een aanvaller zou de verlopen domeinnamen kunnen registreren. Vervolgens een wachtwoordreset voor het maintainer-account uitvoeren en zo het npm-package in handen kunnen krijgen als de maintainer geen tweefactorauthenticatie (2FA) heeft ingesteld. In 2020 bleek dat meer dan negentig procent van npm-ontwikkelaars geen 2FA gebruikte om het eigen account te beveiligen.
Npm-packages kunnen weer door allerlei andere software worden gebruikt, waardoor een gekaapt npm-package grote gevolgen kan hebben. De onderzoekers hebben een overzicht van alle maintainer-accounts waarvan het domein is verlopen en te koop wordt aangeboden gedeeld met het npm-securityteam, zodat de accounts kunnen worden geblokkeerd.
Het probleem met verlopen domeinnamen is niet het enige probleem voor de veiligheid van npm-packages. Zo werden tienduizenden packages gevonden die van installatiescripts gebruikmaken die voor het uitvoeren van malafide commando's zijn te gebruiken, wat in strijd is met best practices. Verder hebben sommige maintainers controle over een groot aantal packages en worden sommige packages weer door veel personen beheerd, wat tot kwetsbaarheden of opzettelijk toegevoegde malafide code kan leiden.
Deze posting is gelocked. Reageren is niet meer mogelijk.