Se han descubierto seis fallas de día cero en cuatro importantes administradores de paquetes de JavaScript que evitan la ejecución de scripts y bloquean la integridad de los archivos, herramientas que los profesionales de la seguridad utilizan para proteger el código de software de la ejecución automática de scripts maliciosos. El descubrimiento tiene a los expertos en seguridad preocupados de que la industria se enfrente a un ataque a la cadena de suministro aún más devastador que el ataque Shai-Hulud de finales del año pasado, que afectó a más de 25.000 paquetes. Apodado «PackageGate» en un blog de Koi del 26 de enero, los investigadores dijeron que los nuevos fallos de derivación se encontraron en npm, pnpm, vlt y Bun. Según el blog de Koi, pnpm, vlt y Bun han solucionado los errores afectados. Sin embargo, npm, que ahora forma parte de Microsoft, dijo a los investigadores que npm «funciona como se esperaba». «Así que aquí estamos», escribió el investigador de seguridad de Koi Oren Yomtov. «Después del peor ataque a la cadena de suministro de npm en la historia (Shai-Hulud), existen brechas significativas en las defensas aceptadas por todos, y el administrador de paquetes más grande del ecosistema ha decidido que no vale la pena cerrar estas brechas». Según Jason Soroko, miembro senior de Sectigo, PackageGate es importante porque cambia la conversación sobre el riesgo de los paquetes en toda la cadena de suministro para «hablar sobre los propios administradores de los paquetes defectuosos. Evitar». El punto de Koi, según Soroko, es que dos barreras protectoras ampliamente utilizadas para evitar que el código malicioso se ejecute automáticamente (deshabilitar los scripts del ciclo de vida y confiar en archivos de bloqueo con hashes de integridad) están diseñadas para detener la ejecución de código sorpresa y garantizar implementaciones repetibles. «Si estas defensas pueden eludirse a través de dependencias de Git, gestión de integridad basada en URL o ataques en hash tarle, pueden recuperar la ejecución del código en el momento de la implementación y extenderse a escala en entornos aún más hostiles, el riesgo depende de los patrones de dependencia y de si las organizaciones utilizan versiones fijas», dijo Soroko. «La preocupación es que PackageGate permite un evento en la cadena de suministro aún peor que Shai-Hulud, porque no se trata sólo de ‘paquetes maliciosos’, sino de posibles omisiones en los administradores de paquetes, y muchos equipos implementan protecciones después». Venky Raju, CTO de ColorTokens, explicó que la cuestión central es la confianza en la capacidad de publicación del mantenedor del paquete. Si los atacantes obtienen acceso al sistema de un mantenedor mediante ingeniería social u otras técnicas, dijo Raju, podrían obtener acceso a sus credenciales de publicación y publicar una versión maliciosa del paquete JavaScript. Raju señaló que el segundo problema es confiar en la ejecución de los scripts de instalación del paquete. Si bien estos scripts del ciclo de vida de npm son características esenciales, Raju dice que el malware de la cadena de suministro de software ha demostrado que se puede abusar de ellos y que se abusará de ellos. Finalmente, Raju dijo que existe la preocupación de que los scripts maliciosos puedan conectarse a los servidores de comando y control (C2) del atacante o recopilar credenciales de publicación adicionales en el sistema de desarrollo comprometido y replicarse en paquetes npm adicionales. «Esto vuelve a resaltar la necesidad de un software de defensa para hacer frente a los ataques en profundidad», dijo Raju. como los tokens rotativos y la protección de credenciales abordan la raíz del problema, pero siempre existe la posibilidad de que una sola omisión pueda llevar a un compromiso”. Soroko de Sectigo añadió que las distintas derivaciones varían según el dispositivo. Sorko lo explica así:npm: el vínculo débil son las dependencias de Git, donde un repositorio malicioso puede afectar el comportamiento de npm a través de un .npmrc instalado y, en última instancia, dirigir la ejecución a los comandos proporcionados por el atacante. pnpm: «scripts deshabilitados de forma predeterminada» no cubría la ruta de recuperación de dependencia de Git separada, por lo que los scripts aún podían ejecutarse allí, y tanto pnpm como vlt tenían una vulnerabilidad de archivo de bloqueo donde algunas dependencias de tarball se arreglaban en la URL sin un hash de integridad, lo que permitía un ataque de «intercambiar el tarball más tarde». vlt: Koi describe un recorrido de una ruta hash tar que los atacantes pueden abusar al escribir archivos arbitrarios. Bollo: A lista blanca de confianza descifró los nombres de los paquetes en lugar de la fuente, por lo que es práctico falsificarlos.
Seis fallas de JavaScript de día cero generan temores de ataques a la cadena de suministro

