Biblioteca JavaScript node-ipc fue modificada para incluir malware de eliminación de archivos dependiendo de la ubicación geográfica de los usuarios

Un reporte de seguridad indica que el desarrollador de la biblioteca JavaScript node-ipc, empleada por el marco de trabajo vue.js, introdujo intencionalmente una vulnerabilidad crítica que podría resultar desastrosa para algunos usuarios. Brandon Nozaki Miller, también conocido como RIAEvangelist, creó node-ipc, describiéndolo como un módulo de comunicación entre procesos para Node, compatible con sockets UNIX, TCP, TLS y UDP.

Al parecer, Miller cambió intencionalmente su código para sobrescribir los datos del sistema host, además de modificar el código para mostrar un mensaje que pedía la paz mundial, como protesta contra la guerra en Ucrania. GitHub confirmó que en realidad esta es una vulnerabilidad crítica identificada como CVE-2022-23812: “El código malicioso es capaz de sobrescribir archivos arbitrarios dependiendo de la ubicación geográfica del usuario”, señala la plataforma.

A inicios de marzo se lanzaron las versiones 10.1.1 y 10.1.2 de node-ipc. Cuando se importan como una dependencia y se ejecutan, estas versiones de la biblioteca verifican si la dirección IP de la máquina host está asociada a Rusia o Bielorrusia; de ser así, todos los archivos se sobrescriben con un símbolo de corazón.

Estas versiones contenían un paquete creado por Miller identificado como peacenotwar, capaz de crear un archivo llamado WITH-LOVE-FROM-AMERICA.txt en los escritorios de los usuarios y en carpetas OneDrive. Presuntamente, el archivo contiene una frase del desarrollador clamando por la paz, aunque algunos usuarios que han visto el archivo aseguran que es simplemente un archivo de texto vacío.

Cada vez que otro proyecto utiliza las versiones 11 o 9.2.2 de node-ipc como una dependencia, se ejecuta peacenotwar, dejando archivos en las computadoras de los usuarios. La versión 9.2.2 ha desaparecido del registro de NPM junto con las destructivas versiones 10.1.x. Vue.js, por ejemplo, trajo node-ipc 9.2.2 mientras estaba disponible, ya que 9.x se considera una rama estable, lo que significa que hubo un período en el que algunos desarrolladores de Vue pueden haber experimentado la aparición repentina de archivos de texto.

La buena noticia es que pocas personas se vieron expuestas a esta versión destructiva de la biblioteca, ya que las grandes aplicaciones y marcos habrán usado la rama estable. Cualquier usuario que haya accedido a las versiones de última generación podría haber perdido sus archivos o haber encontrado el manifiesto creado por el desarrollador.

Para conocer más sobre riesgos de seguridad informática, malware, vulnerabilidades y tecnologías de la información, no dude en ingresar al sitio web del Instituto Internacional de Seguridad Cibernética (IICS).