Uma alteração maliciosa foi feita no pacote NPM node-ipc que exclui arquivos em sistemas na Rússia e na Bielo-Rússia

Uma alteração maliciosa foi detectada no pacote NPM node-ipc (CVE-2022-23812), com 25% de probabilidade de que o conteúdo de todos os arquivos que possuem acesso de gravação seja substituído pelo caractere “❤️”. O código malicioso é ativado apenas quando lançado em sistemas com endereços IP da Rússia ou da Bielorrússia. O pacote node-ipc tem cerca de um milhão de downloads por semana e é usado como dependência de 354 pacotes, incluindo vue-cli. Todos os projetos que possuem node-ipc como dependências também são afetados pelo problema.

O código malicioso foi postado no repositório NPM como parte das versões node-ipc 10.1.1 e 10.1.2. Uma alteração maliciosa foi postada no repositório Git do projeto em nome do autor do projeto há 11 dias. O país foi determinado no código chamando o serviço api.ipgeolocation.io. A chave que foi acessada à API ipgeolocation.io a partir da incorporação maliciosa foi revogada.

Nos comentários ao alerta sobre o aparecimento de códigos duvidosos, o autor do projeto afirmou que a mudança equivale a adicionar um arquivo ao desktop que exibe uma mensagem pedindo paz. Na verdade, o código realizou uma busca recursiva em diretórios na tentativa de sobrescrever todos os arquivos encontrados.

As versões do node-ipc 11.0.0 e 11.1.0 foram posteriormente postadas no repositório NPM, que substituiu o código malicioso integrado por uma dependência externa, “peacenotwar”, controlada pelo mesmo autor e oferecida para inclusão por mantenedores de pacotes que desejassem para se juntar ao protesto. Afirma-se que o pacote Peacenotwar apenas apresenta uma mensagem sobre a paz, mas tendo em conta as ações já tomadas pelo autor, o conteúdo posterior do pacote é imprevisível e a ausência de alterações destrutivas não é garantida.

Ao mesmo tempo, foi lançada uma atualização para o branch estável node-ipc 9.2.2, que é usado pelo projeto Vue.js. Na nova versão, além do Peacenotwar, o pacote Colors também foi adicionado à lista de dependências, cujo autor integrou alterações destrutivas ao código em janeiro. A licença fonte da nova versão foi alterada de MIT para DBAD.

Como as ações adicionais do autor são imprevisíveis, recomenda-se que os usuários do node-ipc corrijam as dependências na versão 9.2.1. Também é recomendado corrigir versões para outros desenvolvimentos do mesmo autor que manteve 41 pacotes. Alguns dos pacotes mantidos pelo mesmo autor (js-queue, easy-stack, js-message, event-pubsub) têm cerca de um milhão de downloads por semana.

Adição: Outras tentativas foram registradas para adicionar ações a vários pacotes abertos que não estão relacionados à funcionalidade direta dos aplicativos e estão vinculados a endereços IP ou localidade do sistema. A mais inofensiva dessas mudanças (es5-ext, rete, PHP compositor, PHPUnit, Redis Desktop Manager, Awesome Prometheus Alerts, verdaccio, filestash) resume-se à exibição de apelos para acabar com a guerra para usuários da Rússia e da Bielo-Rússia. Ao mesmo tempo, também são identificadas manifestações mais perigosas, por exemplo, um criptografador foi adicionado aos pacotes de módulos do AWS Terraform e restrições políticas foram introduzidas na licença. O firmware Tasmota para dispositivos ESP8266 e ESP32 possui um marcador integrado que pode bloquear a operação de dispositivos. Acredita-se que tal atividade poderia minar seriamente a confiança no software de código aberto.

Fonte: opennet.ru

Adicionar um comentário