La falla de contaminación del prototipo sin parches afecta a todas las versiones de Popular Lodash Library

defecto de contaminación del prototipo lodash

Lodash, una popular biblioteca npm utilizada por más de 4 millones de proyectos solo en GitHub, se ve afectada por una vulnerabilidad de seguridad de alta gravedad que podría permitir a los atacantes comprometer la seguridad de los servicios afectados que utilizan la biblioteca y su respectiva base de usuarios.

Lodash es una biblioteca de JavaScript que contiene herramientas para simplificar la programación con cadenas, números, matrices, funciones y objetos, lo que ayuda a los programadores a escribir y mantener su código JavaScript de manera más eficiente.

Liran Tal, defensora de los desarrolladores de la plataforma de seguridad de código abierto Snyk, publicó recientemente detalles y un exploit de prueba de concepto de un prototipo de vulnerabilidad de seguridad de contaminación de alta gravedad que afecta a todas las versiones de lodash, incluida la última versión 4.17.11.

La vulnerabilidad, asignada como CVE-2019-10744, afecta potencialmente a una gran cantidad de proyectos frontend debido a la popularidad de lodash que se descarga a un ritmo de más de 80 millones de veces al mes.

La contaminación de prototipos es una vulnerabilidad que permite a los atacantes modificar el prototipo de objeto JavaScript de una aplicación web, que es como una variable que se puede usar para almacenar múltiples valores en función de una estructura predefinida.

Estas estructuras y valores predeterminados se denominan prototipos que evitan que una aplicación se convierta en hash cuando no se establecen valores.

Sin embargo, si un atacante logra inyectar propiedades en prototipos de construcción de lenguaje JavaScript existentes y manipula estos atributos para sobrescribir o contaminar, podría afectar la forma en que la aplicación procesa los objetos de JavaScript a través de la cadena de prototipos, lo que lleva a un problema de denegación de servicio o una ejecución remota de código. vulnerabilidad.

Según Tal, se podría engañar a la función «defaultsDeep» en la biblioteca de Lodash para que agregue o modifique las propiedades de Object.prototype utilizando una carga útil del constructor, lo que podría provocar el bloqueo de la aplicación web o la alteración de su comportamiento, según el caso de uso afectado. .

Cabe señalar que explotar los defectos de contaminación del prototipo no es fácil y requiere un conocimiento profundo de cómo funciona cada aplicación web específica.

El investigador responsable informó esta vulnerabilidad a John Dalton, mantenedor de Lodash, y propuso soluciones (solicitudes de extracción 1 y 2) que se incluirán en la próxima versión de la biblioteca, que se espera que se publique muy pronto.

Si su proyecto también usa lodash, se recomienda que actualice inmediatamente su biblioteca tan pronto como se lance el parche oficial o que aplique las correcciones manualmente.

Continua leyendo

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Newsletter Signup

Suscríbete a nuestra lista si te interesa recibir turcos exclusivos sobre hacking y seguridad informática