Los desarrolladores de Rspack han revelado que dos de sus paquetes npm, @rspack/core y @rspack/cli, se vieron comprometidos en un ataque a la esclavitud de suministro de software que permitió a un actor malvado imprimir versiones maliciosas en el registro oficial de paquetes con malware de minería de criptomonedas.
Tras el descubrimiento, las versiones 1.1.7 de ambas bibliotecas no se publicaron en el registro npm. La última interpretación segura es 1.1.8.
«Fueron liberados por un atacante que obtuvo comunicación de publicación no acreditado a npm y contienen scripts maliciosos», dijo en un prospección la firma de seguridad de la esclavitud de suministro de software Socket.
Rspack se presenta como una alternativa al paquete web y ofrece un «paquete de JavaScript de suspensión rendimiento escrito en Rust». Desarrollado originalmente por ByteDance, desde entonces ha sido prohijado por varias empresas como Alibaba, Amazon, Discord y Microsoft, entre otras.
Los paquetes npm en cuestión, @rspack/core y @rspack/cli, atraen descargas semanales de más de 300.000 y 145.000, respectivamente, lo que indica su popularidad.
Un prospección de las versiones maliciosas de las dos bibliotecas ha revelado que incorporan código para realizar llamadas a un servidor remoto («80.78.28(.)72») con el fin de transmitir detalles de configuración confidenciales, como credenciales de servicios en la aglomeración, al mismo tiempo que recopilan Dirección IP y detalles de ubicación realizando una solicitud HTTP GET a «ipinfo(.)io/json».
En un molinete interesante, el ataque además limita la infección a máquinas ubicadas en un conjunto específico de países, como China, Rusia, Hong Kong, Bielorrusia e Irán.
El objetivo final de los ataques es desencadenar la descarga y ejecución de un minero de criptomonedas XMRig en hosts Linux comprometidos tras la instalación de los paquetes mediante un script posterior a la instalación especificado en el archivo «package.json».
«El malware se ejecuta a través del script postinstalación, que se ejecuta automáticamente cuando se instala el paquete», dijo Socket. «Esto garantiza que la carga maliciosa se ejecute sin ninguna influencia del legatario, incrustándose en el entorno de destino».
Adicionalmente de imprimir una nueva interpretación de los dos paquetes sin el código malvado, los mantenedores del esquema dijeron que invalidaron todos los tokens npm y GitHub existentes, verificaron los permisos del repositorio y los paquetes npm y auditaron el código fuente para detectar posibles vulnerabilidades. Se está llevando a agarradera una investigación sobre la causa fundamental del robo de fichas.
«Este ataque resalta la obligación de que los administradores de paquetes adopten medidas de seguridad más estrictas para proteger a los desarrolladores, como hacer cumplir las comprobaciones de certificación, para evitar la aggiornamento a versiones no verificadas», dijo Socket. «Pero no es totalmente a prueba de balas».
«Como se vio en el flamante ataque a la esclavitud de suministro de Ultralytics en el ecosistema Python, los atacantes aún pueden imprimir versiones con certificación comprometiendo las acciones de GitHub mediante el envenenamiento de la personalidad».