UNKNOWNCVE-2026-33937

Handlebars.js présente une injection JavaScript via une confusion de type AST

Plateforme

nodejs

Composant

handlebars

Corrigé dans

4.7.9

Handlebars fournit la puissance nécessaire pour permettre aux utilisateurs de créer des modèles sémantiques. Dans les versions 4.0.0 à 4.7.8, `Handlebars.compile()` accepte un objet AST pré-parsé en plus d'une chaîne de modèle. Le champ `value` d'un nœud AST `NumberLiteral` est émis directement dans le JavaScript généré sans guillemets ni désinfection. Un attaquant qui peut fournir un AST falsifié à `compile()` peut donc injecter et exécuter du code JavaScript arbitraire, ce qui conduit à l'exécution de code à distance sur le serveur (Remote Code Execution). La version 4.7.9 corrige ce problème. Certaines 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 simple objet ou une valeur désérialisée JSON. Utilisez la version Handlebars d'exécution uniquement (`handlebars/runtime`) sur le serveur si les modèles sont précompilés au moment de la construction ; `compile()` ne sera pas disponible.

Comment corriger

Aucun correctif officiel disponible. Recherchez des alternatives ou surveillez les mises à jour.

Surveillez vos dépendances automatiquement

Recevez des alertes quand de nouvelles vulnérabilités affectent vos projets.

Commencer gratuitement