top of page

Paquete popular de NPM se actualizó para borrar los sistemas de Rusia y Bielorrusia



En un acto de sabotaje deliberado, el desarrollador detrás del administrador de paquetes de Node.js (NPM por sus siglas en Ingles)"node-ipc" envió una nueva versión alterada para condenar la invasión rusa de Ucrania, lo que hace temer por la seguridad del código abierto y la cadena de suministro de software.


Afectando a las versiones 10.1.1 y 10.1.2 de la librería, las alteraciones introducidas por su mantenedor RIAEvangelist provocaron un comportamiento indeseable al dirigirse a usuarios con direcciones IP situadas en Rusia o Bielorrusia, y al borrar contenidos de archivos arbitrarios y sustituirlos por un emoji de corazón.


Node-ipc es un destacado módulo de nodo utilizado para la comunicación local y remota entre procesos (IPC) con soporte para Linux, macOS y Windows. Tiene más de 1,1 millones de descargas semanales.


"Se producirá un abuso muy claro y un incidente crítico de seguridad en la cadena de suministro para cualquier sistema en el que se recurra a este paquete NPM, si coincide con una geolocalización de Rusia o Bielorrusia", afirmó en un análisis el investigador de Synk Liran Tal.


Al problema se le ha asignado el identificador CVE-2022-23812 y tiene una calificación de 9,8 sobre 10 en el sistema de puntuación de vulnerabilidades CVSS. Los cambios en el código malicioso se publicaron el 7 de marzo (versión 10.1.1), y ese mismo día se produjo una segunda actualización 10 horas después (versión 10.1.1).


Curiosamente, aunque las modificaciones destructivas fueron eliminadas de la librería con la versión 10.1., una actualización mayor fue empujada después de menos de cuatro horas (versión 11.0.0), que importó otra dependencia llamada "peacenotwar", también publicada por RIAEvangelist como una forma de "protesta no violenta contra la agresión de Rusia".


"Cada vez que se llama a la funcionalidad del módulo node-ipc, éste imprime en STDOUT un mensaje extraído del módulo peacenotwar, además de colocar un archivo en el directorio del Escritorio del usuario con contenidos relacionados con la situación actual de guerra de Rusia y Ucrania", explicó Tal.


A partir del 15 de marzo de 2022, la última versión de node-ipc -11.1.0- eleva la versión del paquete "peacenotwar" de la 9.1.3 a la 9.1.5 e incorpora la biblioteca NPM "colors", al tiempo que elimina los mensajes de consola STDOUT.


Cabe acotar que "colors", junto con otro paquete llamado "faker", fueron saboteados intencionalmente a principios de enero por su desarrollador Marak Squires al introducir bucles infinitos en el código fuente, rompiendo efectivamente otras aplicaciones que dependían de las bibliotecas.


Según el sitio web de noticieros sobre tecnología Bleeping Computer, que informó por primera vez de la corrupción, se dice que los cambios han sido una represalia, con el desarrollador señalando que "Respetuosamente, ya no voy a apoyar a las empresas de Fortune 500 (y otras de menor tamaño) con mi trabajo gratuito".


En todo caso, la idea de utilizar módulos populares como "protestware" para desplegar datos de aplicación destructivos y montar un compromiso de la cadena de suministro corre el riesgo de socavar la confianza en el software de código abierto.


"Este incidente de seguridad implica actos destructivos de corrupción de archivos de disco por parte de un administrador y sus intentos de ocultar y replantear ese sabotaje deliberado en diferentes formas", dijo Tal. "Aunque se trata de un ataque con motivaciones de protesta, pone de manifiesto un problema mayor al que se enfrenta la cadena de suministro de software: las dependencias transitivas de su código pueden tener un gran impacto en su seguridad".

bottom of page