VULNERABILIDAD
CVE-2026-115895 Ejecución de código en el host por alias de importación no sanitizado en Happy DOM
Desde 17.0.0 hasta 21.0.4, ECMAScriptModuleCompiler.ts de Happy DOM acepta un alias de importación ESM con nombre sin validar que sea un identificador de binding JavaScript antes de insertarlo en un binding de desestructuración generado. Con enableJavaScriptEvaluation habilitado, HTML o código de módulo controlado por el atacante puede usar un alias inválido que se vuelve un inicializador válido tras la compilación, ejecutando JavaScript en el proceso host de Node.js. Es un camino residual del fix incompleto de…
Alerta de Nureq Monitor
Detectada 23 OCT · 21:08
CVSS 3.1
8.8ALTAPROBABILIDAD DE EXPLOTACIÓN (EPSS)
0,6 % PERCENTIL 46
EXPLOTACIÓN ACTIVA
No confirmada
EXPLOIT PÚBLICO
No conocido
Qué es CVE-2026-115895
Desde 17.0.0 hasta 21.0.4, ECMAScriptModuleCompiler.ts de Happy DOM acepta un alias de importación ESM con nombre sin validar que sea un identificador de binding JavaScript antes de insertarlo en un binding de desestructuración generado. Con enableJavaScriptEvaluation habilitado, HTML o código de módulo controlado por el atacante puede usar un alias inválido que se vuelve un inicializador válido tras la compilación, ejecutando JavaScript en el proceso host de Node.js. Es un camino residual del fix incompleto de…
Productos y versiones afectadas
capricorn86 happy-dom
Qué hacer
- Verificá si usás happy-dom 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.
- Revisá registros y accesos de los sistemas expuestos para descartar que se haya aprovechado antes de corregir.
Calculadora CVSS
CVSS 3.1 · 8.8 ALTA
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
- VECTOR DE ATAQUE (AV)
- Red
- COMPLEJIDAD DEL ATAQUE (AC)
- Baja
- PRIVILEGIOS REQUERIDOS (PR)
- Ninguno
- INTERACCIÓN DEL USUARIO (UI)
- Requerida
- ALCANCE (S)
- Sin cambio
- CONFIDENCIALIDAD (C)
- Alta
- INTEGRIDAD (I)
- Alta
- DISPONIBILIDAD (A)
- Alta
Abrir la calculadora completa →
Descripción original
Happy DOM is a JavaScript implementation of a web browser without its graphical user interface. From 17.0.0 until 21.0.4, packages/happy-dom/src/module/ECMAScriptModuleCompiler.ts accepts a named ESM import alias without validating that it is a JavaScript binding identifier before inserting it into a generated destructuring binding. With enableJavaScriptEvaluation enabled, attacker-controlled HTML or module source can use an invalid alias that becomes a valid default initializer after compilation, causing the generated JavaScript to execute in the Node.js host process. The demonstrated reachable path uses a JSON module import attribute, which prevents the malicious alias from being emitted again in a later ESM circular-import assignment and keeps the generated function syntactically valid. This incomplete fix for CVE-2026-33943 is a distinct residual path because the earlier remediation validated the local export importName path but not the named-import alias. This issue is fixed in version 21.0.4.
Referencias
- github.com/capricorn86/happy-dom/security/advisories/GHSA-834v-8h66-3h79X_REFSOURCE_CONFIRM
- github.com/capricorn86/happy-dom/pull/2537X_REFSOURCE_MISC
- github.com/capricorn86/happy-dom/commit/fd163520b74d9fa146be91f7b4e4f46d6cccbe13X_REFSOURCE_MISC
- github.com/capricorn86/happy-dom/releases/tag/v21.0.4X_REFSOURCE_MISC
Historial de la alerta
- VULNERABILIDAD Nueva vulnerabilidad detectada.
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.