En lo que es otro acto de sabotaje, el desarrollador detrás del popular paquete NPM “node-ipc” envió una nueva versión para protestar por la invasión rusa de Ucrania, generando preocupaciones sobre la seguridad en el código abierto y el cadena de suministro de software.
Los cambios, que afectaron a las versiones 10.1.1 y 10.1.2 de la biblioteca, introdujeron un comportamiento no deseado por parte de su mantenedor RIAEvangelist, apuntando a usuarios con direcciones IP ubicadas en Rusia o Bielorrusia, y borrando el contenido de archivos arbitrarios y reemplazándolos con un emoji de corazón.
Node-ipc es un destacado módulo de nodo Se utiliza para la comunicación entre procesos local y remota 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 de la cadena de suministro para cualquier sistema en el que se solicite este paquete de NPM, si coincide con una ubicación geográfica de Rusia o Bielorrusia”, dijo el investigador de Synk, Liran Tal. dijo en un análisis.
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 calificación de vulnerabilidad CVSS. Los cambios del código malicioso se publicaron el 7 de marzo (versión 10.1.1), con una segunda actualización 10 horas más tarde el mismo día (versión 10.1.1).
Curiosamente, aunque la carga útil destructiva se eliminó de la biblioteca con la versión 10.1.3, se envió una actualización importante después de menos de cuatro horas (versión 11.0.0), que importó otra dependencia llamada “Paz no guerra”, también publicado 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, se imprime en SALIDA ESTÁNDAR un mensaje extraído del módulo de paz, no de guerra, y coloca un archivo en el directorio del escritorio del usuario con contenidos relacionados con la situación actual en tiempos 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, supera la versión del paquete “peacenotwar” de 9.1.3 a 9.1.5 y agrupa la biblioteca NPM de “colores”, al tiempo que elimina los mensajes de la consola STDOUT. .
Vale la pena señalar que “colors”, junto con otro paquete llamado “faker”, fueron ambos saboteado 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 Bleeping Computer, que reportado por primera vez la corrupción, se dice que los cambios han sido una represalia, con el desarrollador tomando nota que “Respetuosamente, ya no voy a apoyar a las empresas Fortune 500 (y otras empresas de menor tamaño) con mi trabajo gratuito”.
En todo caso, la idea de utilizar módulos populares como “material de protesta” para implementar cargas destructivas y poner en peligro la cadena de suministro se corre el riesgo de socavar la confianza en el software de código abierto.
“Este incidente de seguridad involucra actos destructivos de corrupción de archivos en el disco por parte de un mantenedor y sus intentos de ocultar y reafirmar ese sabotaje deliberado en diferentes formas”, dijo Tal. “Si bien este es un ataque con motivaciones impulsadas por protestas, destaca un problema mayor que enfrenta la cadena de suministro de software: las dependencias transitivas en su código pueden tener un gran impacto en su seguridad”.