Plateforme
nodejs
Composant
webpack
Corrigé dans
5.0.1
5.94.0
CVE-2024-43788 est une vulnérabilité de type Cross-Site Scripting (XSS) affectant webpack. Plus précisément, elle réside dans le module AutoPublicPathRuntimeModule et permet une attaque par DOM Clobbering, conduisant à l'exécution de code JavaScript arbitraire. Cette vulnérabilité affecte les versions de webpack antérieures à la version 5.94.0. La version 5.94.0 corrige cette faille de sécurité.
CVE-2024-43788 est une vulnérabilité de 'DOM Clobbering' découverte dans le module AutoPublicPathRuntimeModule de Webpack. Cette vulnérabilité permet à un attaquant d'injecter du code JavaScript malveillant dans une page web en exploitant la capacité de remplacer les propriétés globales du DOM (Document Object Model) via des éléments HTML contrôlés par l'attaquant. La vulnérabilité se manifeste lorsque Webpack génère du code qui utilise des variables globales du DOM sans validation appropriée. Un attaquant peut manipuler des attributs tels que name dans les balises <img> pour remplacer ces variables, ce qui peut entraîner l'exécution de code arbitraire dans le navigateur de la victime. L'impact principal est la possibilité d'attaques Cross-Site Scripting (XSS), compromettant la sécurité et la confidentialité des utilisateurs.
La vulnérabilité a été découverte et démontrée dans le Canvas LMS, où un attaquant peut injecter du code JavaScript via des attributs d'éléments HTML, en particulier l'attribut name d'une balise <img>. Webpack, lors du traitement de ce code, génère un module qui est susceptible au DOM Clobbering. L'attaquant peut alors manipuler ce module pour remplacer les variables globales du DOM, ce qui permet l'exécution de code malveillant. Ce scénario souligne l'importance de valider et de désinfecter les données d'entrée dans les applications web qui utilisent Webpack, en particulier lors de la gestion des données fournies par l'utilisateur. La vulnérabilité est exploitée en raison de la manière dont Webpack gère les chemins publics automatiques et l'interaction avec le DOM.
Statut de l'Exploit
EPSS
1.77% (percentile 83%)
CISA SSVC
Vecteur CVSS
L'atténuation principale pour CVE-2024-43788 est de mettre à niveau vers la version 5.94.0 de Webpack ou supérieure. Cette version inclut une correction qui empêche le remplacement non désiré des propriétés du DOM. De plus, il est recommandé d'examiner attentivement le code généré par Webpack pour identifier les points d'entrée potentiels pour les attaques de DOM Clobbering. La mise en œuvre d'une validation et d'une désinfection rigoureuses des données d'entrée, en particulier celles provenant de sources non fiables, est essentielle. Envisager l'utilisation d'une Content Security Policy (CSP) pour restreindre les sources de scripts autorisées sur la page web peut aider à atténuer l'impact d'une attaque XSS réussie. Enfin, maintenir les dépendances de Webpack à jour est une pratique de sécurité fondamentale.
Actualice webpack a la versión 5.94.0 o superior. Esta versión corrige la vulnerabilidad de Cross-Site Scripting (XSS) causada por un gadget DOM Clobbering en el AutoPublicPathRuntimeModule. La actualización evitará la ejecución de código malicioso inyectado a través de elementos HTML controlados por el atacante.
Analyses de vulnérabilités et alertes critiques directement dans votre boîte mail.
Le DOM Clobbering est une technique d'attaque qui permet à un attaquant de remplacer les variables globales du DOM, ce qui peut entraîner l'exécution de code arbitraire.
La version 5.94.0 de Webpack inclut une correction qui empêche la vulnérabilité de DOM Clobbering.
Effectuer un examen approfondi du code généré par Webpack et appliquer des mesures de validation et de désinfection des données d'entrée.
Configurer la CSP pour restreindre les sources de scripts autorisées sur la page web.
Oui, il existe des outils d'analyse statique et dynamique qui peuvent aider à détecter les vulnérabilités de DOM Clobbering dans le code Webpack.
Téléverse ton fichier de dépendances et découvre instantanément si cette CVE et d'autres te touchent.