CVE-2026-115895 — Happy DOM: Incomplete fix for CVE-2026-33943: unsanitized import alias leads to host code execution
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.
Descrição oficial em inglês (tradução ainda não revisada).
Quem explora e qual a prioridade
Nota de 0 a 100 que combina exploração confirmada, uso por ransomware e grupos APT, exploits públicos, EPSS e severidade.
Como a nota foi calculada
- EPSS 0.4% (probabilidade de exploração em 30 dias)+5
- Severidade técnica (high)+6
A nota ordena a fila de correção; não substitui o contexto dos seus ativos (exposição à internet, criticidade, compensações).
Triagem
Está sendo explorada, qual a probabilidade de exploração, o que afeta e qual a severidade segundo as fontes.
Remediação
Correções e mitigações documentadas pelas fontes — com link para o aviso original.
- Npm Happy-dom: corrigido na versão 21.0.4 — github.com (GitHub Security Advisories)
Primeiras 24 horas
Ordenado a partir dos próprios campos do registro — exposição primeiro, porque não se corrige o que não se encontrou. Ponto de partida, gerado por regras.
- Identifique ativos expostos que executam as combinações de fabricante/produto/versão afetadas (Capricorn86 Happy Dom, Npm Happy-dom).
- O ataque é pela rede e não exige privilégios: restrinja a exposição (ACLs, VPN, WAF) até corrigir.
- Aplique a versão corrigida ou o patch documentado na seção Remediação.
- A exploração exige interação do usuário: reforce filtros de e-mail/web e alerte os usuários afetados.
- Procure nos logs disponíveis sinais de tentativa de exploração compatíveis com a classe da falha (injeção), erros e anomalias de autenticação.
Escopo afetado
Fabricante, produto e versões como as fontes os descrevem.
| Fabricante | Produto | Versões | Status | Fonte |
|---|---|---|---|---|
| Capricorn86 | Happy Dom | versão >= 17.0.0, < 21.0.4 | Vulnerável | CVE Program (cve.org) e CISA ADP |
| Npm | Happy-dom | ≥ 17.0.0 e ≤ 21.0.3 | Vulnerável | GitHub Security Advisories |
Características do ataque
O vetor CVSS decodificado. Descreve o ataque, não a sua exposição a ele.
Todas as pontuações coletadas
As fontes pontuam de forma independente e podem discordar; cada linha diz quem pontuou e em qual versão.
| Nota | Versão | Severidade | Explor. | Impacto | Pontuado por |
|---|---|---|---|---|---|
| 8.8 | CVSS 3.1 | Alta | 2.8 | 5.9 | security-advisories@github.com via NIST National Vulnerability Database |
| 8.8 | CVSS 3.1 | Alta | — | — | GitHub, Inc. via GitHub Security Advisories |
| 8.8 | CVSS 3.1 | Alta | — | — | GitHub_M via CVE Program (cve.org) e CISA ADP |
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H (nota exibida no topo: security-advisories@github.com) Fraqueza MITRE
Classe de fraqueza segundo o catálogo CWE do MITRE.
EPSS ao longo do tempo FIRST
24/10/2026 → 29/10/2026 · 6 leitura(s) · máximo 0.56%
Detecção
Derivado do vetor CVSS e da classe da fraqueza. Pontos de partida, não regras testadas.
- Priorize telemetria de borda para o componente exposto na rede (proxy, WAF, IDS/IPS).
- Procure parâmetros com metacaracteres de comando/consulta e processos filhos inesperados do serviço.
Linha do tempo
O que aconteceu com esta CVE, do mais recente ao mais antigo.
- 2026
- Status na fonte alterado · Received → Awaiting Analysis
- Correção documentada
- Produtos afetados adicionados · npm/happy-dom
- Produtos afetados adicionados · capricorn86/happy-dom
- Ficha publicada
- CVSS alterado · 8.8
- Status na fonte alterado · → Received
- Registro criado nesta base
- CVE publicada
Atividade das fontes
Leituras que se repetem foram contadas em vez de listadas.
- 1× Referências adicionadas · 23/10/2026 – 23/10/2026
- 1× Descrição oficial atualizada · 23/10/2026 – 23/10/2026
Referências
5 no registro
Em outras páginas do site
CVEs relacionadas (mesmos produtos)
- Alta CVE-2026-118660 Happy DOM: SSRF via iframe and link stylesheet when parsing untrusted HTML 1 d
- Média CVE-2026-118661 Happy DOM: Cookie scope forgery: no DNS-label boundary on Domain= matching , attacker origin sets victim cookies 1 d
- Alta CVE-2026-118659 @happy-dom/server-renderer: ServerRendererServer Target-Origin Bypass SSRF / Open Proxy 1 d
- Alta CVE-2026-34226 Happy DOM's fetch credentials include uses page-origin cookies instead of target-origin cookies 27/03/2026
- Crítica CVE-2026-33943 Happy DOM ECMAScriptModuleCompiler: injeção de código por nomes de exportação não sanitizados 27/03/2026
- Crítica CVE-2025-62410 --disallow-code-generation-from-strings is not sufficient for isolating untrusted JavaScript in happy-dom 15/10/2025
Não consta em nenhuma fonte consultada
Listado em vez de deixado em branco: um campo vazio e um não medido parecem iguais na tela, e só um deles é motivo para procurar em outro lugar.
- Sem avaliação SSVC da CISA.
- Nenhum IOC confirmado (IPs, domínios, hashes ou artefatos de malware) fornecido.
- Nenhum inventário de ativos, controle compensatório ou evidência de implantação de patch da sua organização.
- Nenhuma captura de tráfego de exploração, amostra de log ou caso de incidente.
Respondido a partir deste registro
Texto montado apenas com os campos acima — sem afirmações adicionais.
O que os defensores devem saber primeiro?
CVE-2026-115895 é "Happy DOM: Incomplete fix for CVE-2026-33943: unsanitized import alias leads to host code execution", de severidade Alta. Afeta Happy Dom (Capricorn86); as versões estão na tabela de escopo. Não está na CISA KEV, o que não exclui exploração. CVSS 8.8 descreve a severidade técnica. EPSS 0.37% estima a probabilidade de exploração em 30 dias; nenhum dos dois substitui o contexto dos seus ativos. Verifique primeiro se ativos expostos ou críticos executam as versões afetadas, aplique as correções ou mitigações do fabricante e preserve logs para análise.
Comentários
Discussão técnica moderada. Leia as regras da comunidade.
Nenhum comentário ainda.
Entre ou crie uma conta para comentar e sugerir correções.