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

07 DE AGOSTO, 2026

Los nuevos ataques NatJack secuestran sesiones TCP y falsifican DNS manipulando las tablas NAT.

El investigador de seguridad Malcolm Stagg ha revelado una nueva clase de ataque llamada NatJack que manipula el estado de la conexión de traducción de direccio...

Leer artículo →
07 DE AGOSTO, 2026

Tails 7.10.1 corrige una vulnerabilidad crítica del kernel de Linux.

El proyecto Tails lanzó Tails 7.10.1 como versión de emergencia el 5 de agosto de 2026. Esta actualización corrige dos fallos de seguridad críticos, uno en el k...

Leer artículo →
07 DE AGOSTO, 2026

Un analizador HTTP asistido por IA descubre nuevas técnicas de desincronización HTTP y una vulnerabilidad de día cero en Apache.

Según PortSwigger, HTTP Terminator, un sistema de investigación asistido por inteligencia artificial (IA) desarrollado por James Kettle, generó y demostró nueva...

Leer artículo →