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
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
- Disclosure
disclosure
Renseignement sur les Menaces
Statut de l'Exploit
EPSS
0.08% (percentile 24%)
CISA SSVC
Vecteur CVSS
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é
Informations sur le paquet
- Dernière mise à jour
- 20.9.0récemment
Classification de Faiblesse (CWE)
Chronologie
- Réservé
- Publiée
- Modifiée
- EPSS mis à jour
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.