CVE-2026-33937
Handlebars.js présente une injection JavaScript via une confusion de types AST
- Publié
- 27 mars 2026
- Mise à jour
- 4 sept. 2026
- Attribution de CNA
- GitHub_M
- Preuve observée
- 25 août 2026
CVSS primaire
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HFaible · 30 prochains jours
- Percentile
- 75,9 %
- Date du modèle
- 21 sept. 2026
EPSS est une estimation statistique, et non une certitude ou une mesure d'impact. Combinez-le avec CVSS, le statut KEV, l'exposition et votre environnement.
Résumé
# Handlebars — Exécution de code à distance (RCE) via AST pré-analysé Handlebars fournit la puissance nécessaire pour permettre aux utilisateurs de créer des templates sémantiques. Dans les versions 4.0.0 à 4.7.8, `Handlebars.compile()` accepte un objet AST pré-analysé en plus d'une chaîne de template. Le champ `value` d'un nœud AST `NumberLiteral` est émis directement dans le JavaScript généré sans guillemets ni assainissement. Un attaquant capable de fournir un AST malveillant à `compile()` peut donc injecter et exécuter du JavaScript arbitraire, conduisant à une exécution de code à distance sur le serveur. La version 4.7.9 corrige ce problème. Des solutions de contournement sont disponibles. Validez le type d'entrée avant d'appeler `Handlebars.compile()` ; assurez-vous que l'argument est toujours une `string`, jamais un objet simple ou une valeur désérialisée depuis du JSON. Utilisez la version runtime uniquement de Handlebars (`handlebars/runtime`) sur le serveur si les templates sont pré-compilés au moment de la construction ; `compile()` ne sera alors pas disponible.
Sources
4- CVE-2026-33937Exploit
POC Python, exploit pour Handlebars.js AST Injection RCE. Les versions 4.0.0 à 4.7.8 de Handlebars.js sont concernées. Score CVSS : 9.8 Critique.
Preuve de concept d'exploitation pour CVE-2026-33937, une vulnérabilité d'injection AST dans Handlebars conduisant à une exécution de code à distance dans Node.js. Démontre des charges utiles AST conçues et fournit des recommandations d'atténuation.
Utilisation responsable
Utilisez les informations de vulnérabilité uniquement sur les systèmes que vous possédez ou que vous êtes autorisé à tester. Kitploit renvoie aux métadonnées de la recherche publique et ne stocke pas de code d'exploitation ni de charges utiles malveillantes.