CVE-2026-33940 in Handlebarsinformation

Résumé

par VulDB • 25/05/2026

Handlebars offre 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, un objet malveillant placé dans le contexte du modèle peut contourner toutes les protections conditionnelles dans `resolvePartial()` et amener `invokePartial()` à retourner `undefined`. Le runtime Handlebars traite ensuite le partiel non résolu comme une source devant être compilée, en passant l'objet malveillant à `env.compile()`. Étant donné que l'objet est un AST Handlebars valide contenant du code injecté, le JavaScript généré exécute des commandes arbitraires sur le serveur. L'attaque nécessite que l'adversaire contrôle une valeur pouvant être renvoyée par une recherche de partiel dynamique. La version 4.7.9 corrige le problème. Des solutions de contournement sont disponibles. Premièrement, utilisez la version runtime-only (`require('handlebars/runtime')`). Sans `compile()`, le chemin de compilation de repli dans `invokePartial` est inaccessible. Deuxièmement, nettoyez les données du contexte avant le rendu : assurez-vous qu'aucune valeur du contexte n'est un objet non primitif qui pourrait être passé à un partiel dynamique. Troisièmement, évitez les recherches de partiels dynamiques (`{{> (lookup ...)}}`) lorsque les données du contexte sont contrôlées par l'utilisateur.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Responsable

GitHub M

Réserver

24/03/2026

Divulgation

28/03/2026

Modérer

accepté

Entrée

VDB-354009

CPE

prêt

EPSS

0.00703

KEV

non

Activités

très faible

Sources

Might our Artificial Intelligence support you?

Check our Alexa App!