CVE-2026-4800
lodash vulnerable a la inyección de código a través de los nombres de clave de imports en _.template
- Publicado
- 31 mar 2026
- Actualizado
- 14 sept 2026
- Asignación de CNA
- openjs
- Evidencia observada
- 25 ago 2026
CVSS primario
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HBajo · próximos 30 días
- Percentil
- 85,5 %
- Fecha del modelo
- 21 sept 2026
EPSS es una estimación estadística, no una certeza o una medida de impacto. Combínelo con CVSS, estado KEV, exposición y su entorno.
Resumen
Impacto: La corrección para CVE-2021-23337 (https://github.com/advisories/GHSA-35jh-r3h4-6jhm) añadió validación para la opción de variable en _.template pero no aplicó la misma validación a los nombres de clave de options.imports. Ambos caminos desembocan en el mismo sumidero del constructor Function(). Cuando una aplicación pasa entrada no confiable como nombres de clave de options.imports, un atacante puede inyectar expresiones de parámetros predeterminados que ejecutan código arbitrario en el momento de la compilación de la plantilla. Además, _.template utiliza assignInWith para fusionar importaciones, que enumera las propiedades heredadas a través de for..in. Si Object.prototype ha sido contaminado por cualquier otro vector, las claves contaminadas se copian en el objeto imports y se pasan a Function(). Parches: Los usuarios deben actualizar a la versión 4.18.0. Soluciones provisionales: No pase entrada no confiable como nombres de clave en options.imports. Utilice únicamente nombres de clave estáticos y controlados por el desarrollador.
Fuentes
1Prueba de concepto que demuestra la ejecución remota de código en la plantilla de lodash mediante contaminación de prototipos, con un análisis detallado del flujo del ataque y la técnica de explotación.
Uso responsable
Utilice información sobre vulnerabilidades solo en sistemas de su propiedad o que esté autorizado a probar. Kitploit enlaza con metadatos de investigación pública y no almacena código de explotación ni cargas útiles maliciosas.