EXPLOIT PÚBLICO
CVE-2026-106445 Inyección de JavaScript en Handlebars por evasión de la verificación de propiedades propias
Desde 3.0.0 hasta 4.7.10, lookupProperty de Handlebars devuelve Function.prototype.constructor antes de aplicar la lista de denegación de acceso a prototipos, porque constructor es propiedad propia de Function.prototype. Si un atacante puede renderizar una plantilla controlada con allowProtoMethodsByDefault habilitado y una función accesible en el contexto, puede obtener el constructor de Function y ejecutar JavaScript con los privilegios de la aplicación. Se corrige en la versión 4.7.10.
Alerta de Nureq Monitor
Detectada 10 OCT · 16:46
CVSS 4.0
9.2CRÍTICAPROBABILIDAD DE EXPLOTACIÓN (EPSS)
0,4 % PERCENTIL 34
EXPLOTACIÓN ACTIVA
No confirmada
EXPLOIT PÚBLICO
Sí 1 REPOSITORIO
Qué es CVE-2026-106445
Desde 3.0.0 hasta 4.7.10, lookupProperty de Handlebars devuelve Function.prototype.constructor antes de aplicar la lista de denegación de acceso a prototipos, porque constructor es propiedad propia de Function.prototype. Si un atacante puede renderizar una plantilla controlada con allowProtoMethodsByDefault habilitado y una función accesible en el contexto, puede obtener el constructor de Function y ejecutar JavaScript con los privilegios de la aplicación. Se corrige en la versión 4.7.10.
Productos y versiones afectadas
handlebars-lang handlebars.js
Qué hacer
- Verificá si usás handlebars.js y en qué versión: el rango afectado figura arriba.
- Actualizá a la versión corregida que indique el fabricante en su aviso (ver referencias) o aplicá la mitigación que publique.
- Priorizá la corrección: hay código de explotación público, así que el riesgo de ataque es alto.
- Revisá registros y accesos de los sistemas expuestos para descartar que se haya aprovechado antes de corregir.
Exploits y pruebas de concepto públicas
Código publicado por terceros. Puede ser malicioso: revisalo solo en un entorno aislado.
Calculadora CVSS
CVSS 4.0 · 9.2 CRÍTICA
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
- VECTOR DE ATAQUE (AV)
- Red
- COMPLEJIDAD DEL ATAQUE (AC)
- Baja
- REQUISITOS DEL ATAQUE (AT)
- Presentes
- PRIVILEGIOS REQUERIDOS (PR)
- Ninguno
- INTERACCIÓN DEL USUARIO (UI)
- Ninguna
- CONFIDENCIALIDAD (SISTEMA VULNERABLE) (VC)
- Alta
- INTEGRIDAD (SISTEMA VULNERABLE) (VI)
- Alta
- DISPONIBILIDAD (SISTEMA VULNERABLE) (VA)
- Alta
- CONFIDENCIALIDAD (SISTEMAS POSTERIORES) (SC)
- Ninguna
- INTEGRIDAD (SISTEMAS POSTERIORES) (SI)
- Ninguna
- DISPONIBILIDAD (SISTEMAS POSTERIORES) (SA)
- Ninguna
Abrir la calculadora completa →
Descripción original
Handlebars provides the power necessary to let users build semantic templates. From 3.0.0 until 4.7.10, Handlebars lookupProperty returns Function.prototype.constructor before applying the prototype-access deny list because constructor is an own property of Function.prototype. When an attacker can render a controlled template with allowProtoMethodsByDefault enabled and an accessible function in the template context, the template can traverse from that function through its prototype to Function.prototype and then obtain the Function constructor through the own-property bypass. This permits attacker-controlled JavaScript to execute with the server application's privileges. This issue is fixed in version 4.7.10.
Referencias
- github.com/handlebars-lang/handlebars.js/security/advisories/GHSA-p8wg-vrv2-v86fX_REFSOURCE_CONFIRM
- github.com/handlebars-lang/handlebars.js/pull/2185X_REFSOURCE_MISC
- github.com/handlebars-lang/handlebars.js/commit/ceec388abe1d1aac8f6369860d5f390fa71ef4faX_REFSOURCE_MISC
- github.com/handlebars-lang/handlebars.js/releases/tag/v4.7.10X_REFSOURCE_MISC
Historial de la alerta
- EXPLOIT PÚBLICO Se publicó el repositorio murrez/CVE-2026-106445.
CÓMO SE HIZOResumen traducido automáticamente al español a partir de la descripción original. Ante dudas, la descripción original y las referencias del fabricante son la fuente de verdad. Cómo funciona.