Foi identificado um problema de segurança no repositório de pacotes NPM que permite ao proprietário do pacote adicionar qualquer usuário como mantenedor sem obter o consentimento desse usuário e sem ser informado da ação tomada. Para agravar o problema, uma vez adicionado um terceiro como mantenedor, o autor original do pacote poderia retirar-se da lista de mantenedores, deixando o terceiro como a única pessoa responsável pelo pacote.
O problema poderia ser aproveitado pelos criadores de pacotes maliciosos para adicionar desenvolvedores conhecidos ou grandes empresas ao número de mantenedores, a fim de aumentar a confiança do usuário e criar a ilusão de que desenvolvedores respeitados são responsáveis pelo pacote, embora na verdade eles não têm nada a ver com isso e nem sabem de sua existência. Por exemplo, um invasor pode publicar um pacote malicioso, alterar o mantenedor e convidar usuários para testar um novo desenvolvimento de uma grande empresa. A vulnerabilidade também pode ser usada para manchar a reputação de certos desenvolvedores, apresentando-os como iniciadores de ações duvidosas e maliciosas.
O GitHub foi notificado sobre o problema em 10 de fevereiro e corrigiu o problema do npmjs.com em 26 de abril, exigindo que os usuários concordassem em ingressar em outro projeto. Os desenvolvedores de um grande número de pacotes NPM são incentivados a verificar sua lista de pacotes em busca de ligações que foram adicionadas sem o seu consentimento.
Fonte: opennet.ru