21 mar 2024

800 paquetes NPM vulnerables a ""Manifest Confusion"

Una nueva investigación ha descubierto más de 800 paquetes NPM que tienen discrepancias con sus entradas de registro, de los cuales 18 explotan una técnica llamada "Manifest Confusion".

Los hallazgos provienen de la firma de ciberseguridad JFrog, que dijo que el problema podría ser aprovechado por actores dañinos para engañar a los desarrolladores para que ejecuten código malicioso.

"Es una amenaza real, ya que los desarrolladores pueden ser engañados para que descarguen paquetes que parecen inocentes, pero cuyas dependencias ocultas son en realidad maliciosas", dijo el investigador de seguridad Andrey Polkovnichenko.

La "confusión de manifiestos" se documentó por primera vez en julio de 2023, cuando el investigador de seguridad Darcy Clarke descubrió que las discrepancias en los metadatos del manifiesto y del paquete podrían utilizarse como arma para organizar ataques a la cadena de suministro de software.

El problema surge del hecho de que el registro npm no valida si el archivo de manifiesto contenido en el tarball (paquete.json) coincide con los datos del manifiesto proporcionados al servidor npm durante el proceso de publicación a través de una solicitud HTTP PUT al punto final del URI del paquete.

Como resultado, un actor de amenazas podría aprovechar esta falta de verificación cruzada para proporcionar un manifiesto diferente que contenga dependencias ocultas que se procese durante la instalación del paquete para instalar sigilosamente dependencias maliciosas en el sistema del desarrollador.

El manifiesto visible o 'falso' puede engañar a los desarrolladores e incluso auditar herramientas que dependen de los datos disponibles en la base de datos de registro npm. "En realidad, el instalador toma el archivo package.json del tarball, que puede ser diferente del visible proporcionado en la solicitud HTTP PUT".

La compañía dijo que identificó más de 800 paquetes en los que había una discrepancia entre el manifiesto en el registro npm y el archivo package.json dentro del tarball. Si bien muchas de estas discrepancias son el resultado de diferencias en las especificaciones del protocolo o variaciones en la sección de scripts del archivo del paquete, se dice que 18 de ellas fueron diseñadas para explotar una confusión manifiesta.

Un paquete notable en cuestión es yatai-web-ui, que está diseñado para enviar una solicitud HTTP a un servidor con información sobre la dirección IP de la máquina en la que se instaló el paquete.

Los hallazgos muestran que los actores de amenazas nunca parecen haber utilizado el vector de ataque. Dicho esto, es fundamental que los desarrolladores tomen medidas para garantizar que los paquetes estén libres de comportamientos sospechosos.

"Dado que npm no resolvió este problema, confiar en los paquetes sólo por su apariencia en el sitio web de npm puede ser arriesgado", dijo Polkovnichenko.

"Las organizaciones deben introducir procedimientos que verifiquen que todos los paquetes que ingresan a la organización o que utilizan sus equipos de desarrollo son seguros y confiables. Específicamente en el caso de confusión manifiesta, se requiere que cada paquete se analice para ver si hay algún paquete oculto. dependencias."

Fuente: THN

Suscríbete a nuestro Boletín

0 Comments:

Publicar un comentario

Gracias por dejar un comentario en Segu-Info.

Gracias por comentar!