In de NPM-pakketrepository is een beveiligingsprobleem ontdekt, waardoor de eigenaar van een pakket elke gebruiker als maintainer kan toevoegen, zonder toestemming van deze gebruiker en zonder hen te informeren over de actie. Het probleem wordt verergerd doordat de oorspronkelijke auteur van het pakket zichzelf uit de lijst van maintainers kan verwijderen, terwijl de externe gebruiker als enige verantwoordelijk blijft voor het pakket.
Kwaadwillende pakketmakers konden profiteren van het probleem om bekende ontwikkelaars of grote bedrijven als maintainers toe te voegen met als doel het vertrouwen van gebruikers te vergroten en de illusie te creƫren dat gerenommeerde ontwikkelaars verantwoordelijk zijn voor het pakket, terwijl zij in werkelijkheid geen enkele connectie ermee hebben en zelfs niet op de hoogte zijn van het bestaan ervan. Bijvoorbeeld, een aanvaller kon een kwaadaardig pakket publiceren, de maintainer wijzigen en gebruikers uitnodigen om een nieuwe ontwikkeling van een groot bedrijf te testen. De kwetsbaarheid kon ook worden gebruikt om de reputatie van bepaalde ontwikkelaars te ondermijnen door hen als de initiatiefnemers van verdachte acties en kwaadaardig gedrag voor te stellen.
GitHub is op 10 februari op de hoogte gebracht van het probleem en heeft het op 26 april opgelost via npmjs.com door verplichte bevestiging van gebruikers in te voeren voordat ze zich bij een ander project aansluiten. Ontwikkelaars van veel NPM-pakketten is aangeraden om te controleren of er bindingen in hun lijst van pakketten zijn toegevoegd zonder hun toestemming.
Bron: opennet.ru
