Se ha revelado una “falla lógica” en NPM, el administrador de paquetes predeterminado para el entorno de tiempo de ejecución de JavaScript de Node.js, que permite a los actores maliciosos hacer pasar bibliotecas maliciosas como legítimas y engañar a los desarrolladores desprevenidos para que las instalen.
La amenaza de la cadena de suministro ha sido apodada “Plantación de paquetes” por investigadores de la empresa de seguridad en la nube Aqua. Luego de la divulgación responsable el 10 de febrero, NPM remedió el problema subyacente el 26 de abril.
“Hasta hace poco, NPM permitía agregar a cualquier persona como mantenedor del paquete sin notificar a estos usuarios ni obtener su consentimiento”, Yakir Kadkoda de Aqua. dicho en un informe publicado el martes.
Esto significaba efectivamente que un adversario podía crear paquetes con malware y asignarlos a mantenedores populares y confiables sin su conocimiento.
La idea aquí es agregar propietarios creíbles asociados con otras bibliotecas NPM populares al paquete envenenado controlado por el atacante con la esperanza de que al hacerlo atraiga a los desarrolladores para que lo descarguen.
Las consecuencias de tal ataque a la cadena de suministro son significativas por varias razones. No solo da una falsa sensación de confianza entre los desarrolladores, sino que también podría dañar la reputación de los mantenedores de paquetes legítimos.
La revelación viene como Aqua descubierto dos fallas más en la plataforma NPM relacionadas con la autenticación de dos factores (2FA) de las que se podría abusar para facilitar los ataques de apropiación de cuentas y publicar paquetes maliciosos.
“El principal problema es que cualquier usuario de npm puede realizar esto y agregar otros usuarios de NPM como mantenedores de su propio paquete”, dijo Kadkoda. “Eventualmente, los desarrolladores son responsables de los paquetes de código abierto que utilizan al crear aplicaciones”.