HIGHCVE-2026-33943CVSS 8.8

Happy DOM ECMAScriptModuleCompiler : les noms d’exportation non nettoyés sont interpolés en tant que code exécutable

Plateforme

nodejs

Composant

happy-dom

Corrigé dans

15.10.1

20.8.8

AI Confidence: highNVDEPSS 0.1%Révisé: mai 2026

CVE-2026-33943 est une vulnérabilité d'injection de code affectant happy-dom, permettant à un attaquant d'exécuter du code à distance (RCE) en injectant du code JavaScript arbitraire. Cette faille se situe dans ECMAScriptModuleCompiler et exploite une interpolation non sécurisée. Les versions affectées sont antérieures à la version 20.8.8, qui corrige cette vulnérabilité.

Impact et Scénarios d'Attaque

La vulnérabilité CVE-2026-33943 dans happy-dom représente un risque important d'exécution de code à distance (RCE). Le compilateur de modules ECMAScript ne désinfecte pas correctement le contenu injecté dans les déclarations export { } des scripts de modules ES traités par happy-dom. Cela permet à un attaquant d'injecter des expressions JavaScript arbitraires qui sont exécutées directement pendant le processus de compilation. L'incapacité d'éliminer les backticks par le filtre de guillemets permet l'utilisation de littéraux de gabarit, facilitant ainsi l'évasion des mesures de sécurité existantes. Une exploitation réussie pourrait permettre à un attaquant de compromettre la sécurité de l'application, obtenant potentiellement un accès non autorisé à des données sensibles ou contrôlant l'exécution du système.

Contexte d'Exploitation

La vulnérabilité est exploitée en injectant du code JavaScript malveillant dans les déclarations export { } des scripts ES traités par happy-dom. L'attaquant peut contrôler le contenu de ces scripts, ce qui permet l'exécution de code arbitraire. L'absence de désinfection appropriée du contenu injecté et l'incapacité d'éliminer les backticks dans le filtre de guillemets permettent la création de charges utiles de littéraux de gabarit qui évitent la détection. Le contexte d'exploitation dépend de la façon dont happy-dom est utilisé dans l'application, mais implique généralement le traitement de scripts ES provenant de sources non fiables.

Qui Est à Risquetraduction en cours…

Applications and services built on Node.js that utilize the happy-dom module for DOM manipulation or testing are at risk. This includes projects using happy-dom for server-side rendering, automated testing, or simulating browser environments. Projects relying on third-party libraries that transitively depend on vulnerable versions of happy-dom are also potentially affected.

Étapes de Détectiontraduction en cours…

• nodejs / server:

  npm list happy-dom

• nodejs / server:

  npm audit happy-dom

• nodejs / server: Check package.json for versions prior to 20.8.8. • nodejs / server: Examine application logs for errors related to ES module compilation or JavaScript execution originating from external sources.

Chronologie de l'Attaque

  1. Disclosure

    disclosure

Renseignement sur les Menaces

Statut de l'Exploit

Preuve de ConceptInconnu
CISA KEVNO
Exposition InternetÉlevée
Rapports1 rapport de menace

EPSS

0.08% (percentile 24%)

CISA SSVC

Exploitationpoc
Automatisableno
Impact Techniquetotal

Vecteur CVSS

RENSEIGNEMENT SUR LES MENACES· CVSS 3.1CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H8.8HIGHAttack VectorNetworkComment l'attaquant atteint la cibleAttack ComplexityLowConditions requises pour exploiterPrivileges RequiredNoneNiveau d'authentification requisUser InteractionRequiredSi une action de la victime est requiseScopeUnchangedImpact au-delà du composant affectéConfidentialityHighRisque d'exposition de données sensiblesIntegrityHighRisque de modification non autorisée de donnéesAvailabilityHighRisque d'interruption de servicenextguardhq.com · Score de base CVSS v3.1
Que signifient ces métriques?
Attack Vector
Réseau — exploitable à distance via internet. Aucun accès physique ou local requis.
Attack Complexity
Faible — aucune condition spéciale requise. Exploitable de manière fiable.
Privileges Required
Aucun — sans authentification. Aucune identifiant requis pour exploiter.
User Interaction
Requise — la victime doit ouvrir un fichier, cliquer sur un lien ou visiter une page.
Scope
Inchangé — impact limité au composant vulnérable.
Confidentiality
Élevé — perte totale de confidentialité. L'attaquant peut lire toutes les données.
Integrity
Élevé — l'attaquant peut écrire, modifier ou supprimer toutes les données.
Availability
Élevé — panne complète ou épuisement des ressources. Déni de service total.

Logiciel Affecté

Composanthappy-dom
Fournisseurosv
Plage affectéeCorrigé dans
>= 15.10.0, < 20.8.8 – >= 15.10.0, < 20.8.815.10.1
15.10.020.8.8

Informations sur le paquet

Dernière mise à jour
20.9.0récemment

Classification de Faiblesse (CWE)

Chronologie

  1. Réservé
  2. Publiée
  3. Modifiée
  4. EPSS mis à jour
Corrigé -1 jours après la divulgation

Mitigation et Contournements

L'atténuation principale pour CVE-2026-33943 est de mettre à niveau vers la version 20.8.8 ou supérieure de happy-dom. Cette version inclut une correction qui résout la vulnérabilité en désinfectant correctement le contenu injecté dans les déclarations export { }. En attendant, comme mesure temporaire, évitez de traiter les scripts ES provenant de sources non fiables. De plus, examinez le code pour identifier tout usage potentiel de happy-dom qui pourrait être vulnérable et appliquez des contrôles d'entrée supplémentaires pour valider et nettoyer toutes les données fournies par l'utilisateur avant de les traiter avec happy-dom. L'application de correctifs et l'adoption de pratiques de codage sécurisées sont essentielles pour atténuer ce risque.

Comment corrigertraduction en cours…

Actualice a la versión 20.8.8 o superior. Esta versión corrige la vulnerabilidad de inyección de código en el ECMAScriptModuleCompiler.

Newsletter Sécurité CVE

Analyses de vulnérabilités et alertes critiques directement dans votre boîte mail.

Questions fréquentes

Qu'est-ce que CVE-2026-33943 — Remote Code Execution (RCE) dans happy-dom ?

Happy-dom est une implémentation JavaScript de DOM et d'objets web qui permet d'exécuter des tests de bout en bout dans Node.js sans avoir besoin d'un navigateur réel.

Suis-je affecté(e) par CVE-2026-33943 dans happy-dom ?

Si votre application utilise happy-dom et traite des scripts ES provenant de sources non fiables, vous pourriez être vulnérable à l'exécution de code à distance.

Comment corriger CVE-2026-33943 dans happy-dom ?

En tant que mesure temporaire, évitez de traiter les scripts ES provenant de sources non fiables et examinez votre code à la recherche de points d'entrée potentiellement vulnérables.

CVE-2026-33943 est-il activement exploité ?

Actuellement, il n'existe pas d'outils spécifiques pour détecter cette vulnérabilité. L'examen manuel du code et l'application de correctifs sont les meilleures options.

Où trouver l'avis officiel de happy-dom pour CVE-2026-33943 ?

Vous pouvez trouver plus d'informations sur cette vulnérabilité dans les bases de données de vulnérabilités telles que NVD (National Vulnerability Database) et dans les journaux de modifications de happy-dom.

Ton projet est-il affecté ?

Téléverse ton fichier de dépendances et découvre instantanément si cette CVE et d'autres te touchent.