CVE-2026-33938 in Handlebars
Zusammenfassung
von VulDB • 24.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 wird die spezielle Variable `@partial-block` im Vorlagen-Datenkontext gespeichert und ist innerhalb einer Vorlage über Hilfsfunktionen (Helpers), die beliebige Objekte akzeptieren, erreichbar und veränderbar. Wenn eine Hilfsfunktion `@partial-block` mit einem speziell angefertigten Handlebars-AST überschreibt, wird bei einem nachfolgenden Aufruf von `{{> @partial-block}}` dieser AST kompiliert und ausgeführt, was eine beliebige JavaScript-Ausführung auf dem Server ermöglicht. Version 4.7.9 behebt das Problem. Es sind einige Workarounds verfügbar. Erstens: Verwenden Sie die Runtime-only-Build-Version (`require('handlebars/runtime')`). Die Methode `compile()` fehlt, wodurch der anfällige Fallback-Pfad eliminiert wird. Zweitens: Überprüfen Sie registrierte Hilfsfunktionen auf solche, die beliebige Werte in Kontextobjekte schreiben. Hilfsfunktionen sollten Kontextdaten als schreibgeschützt behandeln. Drittens: Vermeiden Sie das Registrieren von Hilfsfunktionen aus Drittanbieterpaketen (wie `handlebars-helpers`) in Kontexten, in denen Vorlagen oder Kontextdaten durch nicht vertrauenswürdige Eingaben beeinflusst werden können.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.