Cambio malicioso realizado en el paquete NPM node-ipc que elimina archivos en sistemas en Rusia y Bielorrusia

Se identificó un cambio malicioso en el paquete node-ipc NPM (CVE-2022-23812) que tiene un 25 % de posibilidades de reemplazar el contenido de todos los archivos que tienen acceso de escritura con un carácter "❤️". El código malicioso se activa solo cuando se inicia en sistemas con direcciones IP de Rusia o Bielorrusia. El paquete node-ipc tiene alrededor de un millón de descargas por semana y se usa como dependencia para 354 paquetes, incluido vue-cli. Todos los proyectos que tienen node-ipc como dependencias también se ven afectados.

El código malicioso se publicó en el repositorio de NPM como parte de las versiones 10.1.1 y 10.1.2 de node-ipc. Se publicó un cambio malicioso en el repositorio Git del proyecto en nombre del autor del proyecto hace 11 días. El país se determinó en el código llamando al servicio api.ipgeolocation.io. La clave a la que accedió la API ipgeolocation.io desde una inserción maliciosa ahora ha sido revocada.

En los comentarios a la advertencia sobre la aparición de código cuestionable, el autor del proyecto afirmó que el cambio se reduce a agregar un archivo en el escritorio que muestra un mensaje que llama a la paz. De hecho, el código realizó una enumeración recursiva de directorios con el intento de sobrescribir todos los archivos encontrados.

Más tarde, las versiones de node-ipc 11.0.0 y 11.1.0 se colocaron en el repositorio de NPM, que en lugar del código malicioso incorporado, agregó la dependencia externa "peacenotwar", controlada por el mismo autor y ofrecida para su inclusión por paquete. mantenedores que deseen unirse a la protesta. Se afirma que el paquete de paz y guerra solo muestra un mensaje sobre el mundo, pero teniendo en cuenta las acciones ya realizadas por el autor, el contenido adicional del paquete es impredecible y no se garantiza la ausencia de cambios destructivos.

Paralelamente, se lanzó una actualización de la rama estable node-ipc 9.2.2, que es utilizada por el proyecto Vue.js. En la nueva versión, además de Peacenotwar, el paquete de colores también se agregó a la lista de dependencias, cuyo autor integró cambios destructivos en el código en enero. La licencia de origen en la nueva versión se ha cambiado de MIT a DBAD.

Dado que los próximos pasos del autor son impredecibles, se recomienda a los usuarios de node-ipc que corrijan las dependencias en la versión 9.2.1. También se recomienda bloquear versiones para otros desarrollos del mismo autor que mantuvo 41 paquetes. Algunos de los paquetes mantenidos por el mismo autor (js-queue, easy-stack, js-message, event-pubsub) tienen alrededor de un millón de descargas por semana.

Anexo: También se registran otros intentos de agregar acciones a varios paquetes abiertos que no están relacionados con la funcionalidad directa de las aplicaciones y que están vinculados a las direcciones IP o la configuración regional del sistema. Los más inocuos de estos cambios (es5-ext, rete, PHP composer, PHPUnit, Redis Desktop Manager, Awesome Prometheus Alerts, verdaccio, filestash) se reducen a poner fin a la guerra para los usuarios de Rusia y Bielorrusia. Al mismo tiempo, también se revelan manifestaciones más peligrosas, por ejemplo, se agregó un cifrador a los paquetes de módulos de AWS Terraform y se introdujeron restricciones políticas en la licencia. El firmware Tasmota para dispositivos ESP8266 y ESP32 tiene una pestaña integrada que puede bloquear el funcionamiento de los dispositivos. Se supone que dicha actividad puede socavar seriamente la confianza en el software de fuente abierta.

Fuente: opennet.ru

Añadir un comentario