CVE-2026-33939 in Handlebars
Zusammenfassung
von VulDB • 25.05.2026
Handlebars bietet die notwendige Leistungsfähigkeit, um Benutzern den Aufbau semantischer Vorlagen zu ermöglichen. In den Versionen 4.0.0 bis 4.7.8 ruft die kompilierte Vorlage `lookupProperty(decorators, "n")` auf, wenn eine Handlebars-Vorlage Dekorator-Syntax enthält, die auf einen nicht registrierten Dekorator verweist (z. B. `{{*n}}`), was `undefined` zurückgibt. Die Laufzeit ruft das Ergebnis anschließend sofort als Funktion auf, was zu einem unbehandelten `TypeError: ... is not a function` führt, der den Node.js-Prozess abstürzen lässt. Jede Anwendung, die vom Benutzer bereitgestellte Vorlagen kompiliert, ohne den Aufruf in ein `try/catch`-Konstrukt einzubetten, ist anfällig für einen Denial-of-Service-Angriff (DoS) über eine einzelne Anfrage. Version 4.7.9 behebt das Problem. Es sind einige Workarounds verfügbar. Kompilierung und Rendering in `try/catch` einbetten. Vorlagen-Eingaben validieren, bevor sie an `compile()` übergeben werden; Vorlagen ablehnen, die Dekorator-Syntax (`{{*...}}`) enthalten, wenn Dekoratoren in der Anwendung nicht verwendet werden. Den Pre-Compilation-Workflow verwenden; Vorlagen zur Build-Zeit kompilieren und nur vorkompilierte Vorlagen bereitstellen; `compile()` nicht zur Laufzeit von Anfragen aufrufen.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.