Navegación

Se revelan fallos de ejecución remota de código en Handlebars.js con una PoC, lo que amenaza 172 millones de descargas mensuales.

fuente: https://securityonline.info/handlebars-js-vulnerability-rce-poc/

Los responsables del mantenimiento de Handlebars.js han corregido dos fallos críticos que podían permitir la ejecución remota de código. Cada vulnerabilidad de Handlebars.js permitía a un atacante ejecutar código JavaScript arbitrario en un servidor Node.js. Tanto los detalles técnicos como el código de prueba de concepto del exploit ya son públicos, y la biblioteca registra más de 172 millones de descargas mensuales.

Por qué es importante

Handlebars.js es un motor de plantillas ampliamente utilizado para JavaScript. El paquete npm registra más de 172,6 millones de descargas mensuales, según datos del propio proyecto. Este alcance convierte cualquier fallo del lado del servidor en una preocupación generalizada.

Es fundamental destacar que tanto la documentación como el código del exploit son públicos. Los dos avisos de GitHub, GHSA-p8wg-vrv2-v86f y GHSA-8r5x-fm3f-whwj, documentan cada error en detalle. Dado que los detalles son públicos, los responsables de la seguridad deben considerar la aplicación de los parches como una prioridad. Aun así, los avisos no reportan ninguna explotación en la práctica.

Cómo funcionan los ataques Omisión de la lista de bloqueo (CVE-2026-106445)

La primera vulnerabilidad tiene una puntuación CVSS de 9.2. Handlebars mantiene una lista de bloqueo diseñada para impedir el acceso a propiedades peligrosas como el constructor. Sin embargo, esta comprobación puede omitirse. El aviso explica que Handlebars “puede exponer el constructor de la función a pesar de su lista de bloqueo de acceso a prototipos”.

En resumen, una búsqueda llega a una propiedad que la lista de bloqueo nunca evalúa. Esta ruta devuelve el constructor de la función, que un atacante puede usar para compilar y ejecutar código. El fallo se produce cuando una aplicación renderiza una plantilla controlada con la opción allowProtoMethodsByDefault activada.

Confusión de tipos AST (CVE-2026-106446)

La segunda vulnerabilidad de Handlebars.js tiene una puntuación de 9.8. Afecta a las funciones compile() y precompile(), que aceptan un árbol de plantillas preanalizado, así como una cadena de texto. La validación añadida en la versión 4.7.9 solo comprueba algunos nodos del árbol.

Como resultado, el compilador escribe otros valores en el código generado sin verificarlos. Según el aviso, un objeto no confiable “puede contener JavaScript arbitrario”. Un desencadenante común es pasar un campo del cuerpo de una solicitud JSON directamente a la función compile(). Este problema elude una corrección anterior identificada como CVE-2026-33937. Las aplicaciones que solo pasan cadenas de plantilla no se ven afectadas.

Versiones afectadas

Ambas vulnerabilidades afectan al mismo rango de versiones:

Afectadas: Handlebars 4.0.0 a 4.7.9 Corregido: Handlebars 4.7.10

Parche y medidas de mitigación

Actualice a Handlebars 4.7.10 sin demora. Esta versión cierra ambas vías de inyección y resuelve cada vulnerabilidad de Handlebars.js. Dado que los detalles y la prueba de concepto son públicos, el parche es la única solución definitiva.

Si no puede actualizar de inmediato, aplique las soluciones alternativas del proveedor. Primero, nunca establezca allowProtoMethodsByDefault en true para plantillas no confiables. Luego, verifique que cualquier valor pasado a compile() sea una cadena, no un objeto. Finalmente, utilice la compilación solo en tiempo de ejecución en servidores donde las plantillas se precompilan durante la compilación.

Últimas noticias

26 DE AGOSTO, 2026

Se ha publicado una PoC para la vulnerabilidad de uso después de la liberación de memoria en Redis RCE.

Investigadores publicaron código de prueba de concepto para explotar una vulnerabilidad de ejecución remota de código (RCE) en Redis. El uso de memoria liberada...

Leer artículo →
25 DE AGOSTO, 2026

24 paquetes npm abusan de los espejos de unpkg para alojar páginas falsas de CAPTCHA de Cloudflare.

Investigadores de ciberseguridad han revelado detalles de una nueva campaña que utiliza un conjunto de 24 paquetes npm como infraestructura de phishing gratuita...

Leer artículo →
25 DE AGOSTO, 2026

WhatsApp añade múltiples contraseñas para inicios de sesión resistentes al phishing en iOS y Android.

Meta anunció el martes una serie de funciones de seguridad para las cuentas de WhatsApp, incluyendo la compatibilidad con múltiples contraseñas para una misma c...

Leer artículo →