CVE-2026-33940 in Handlebarsinfo

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 kann ein in den Vorlagenkontext eingefügtes, speziell konstruiertes Objekt alle bedingten Schutzmechanismen in `resolvePartial()` umgehen und dazu führen, dass `invokePartial()` `undefined` zurückgibt. Die Handlebars-Laufzeitumgebung behandelt die nicht aufgelöste Partial-Vorlage anschließend als eine Quelle, die kompiliert werden muss, und übergibt das speziell konstruierte Objekt an `env.compile()`. Da das Objekt ein gültiges Handlebars-AST (Abstract Syntax Tree) mit injiziertem Code enthält, führt der generierte JavaScript-Code beliebige Befehle auf dem Server aus. Für den Angriff muss der Angreifer einen Wert kontrollieren, der von einer dynamischen Partial-Suche zurückgegeben werden kann. Version 4.7.9 behebt das Problem. Es sind einige Workarounds verfügbar. Erstens: Verwenden Sie die Runtime-Only-Build-Version (`require('handlebars/runtime')`). Ohne `compile()` ist der Fallback-Kompilierungspfad in `invokePartial` nicht erreichbar. Zweitens: Bereinigen Sie die Kontextdaten vor dem Rendern: Stellen Sie sicher, dass kein Wert im Kontext ein Nicht-Primitive-Objekt ist, das an eine dynamische Partial-Suche übergeben werden könnte. Drittens: Vermeiden Sie dynamische Partial-Suchen (`{{> (lookup ...)}}`), wenn die Kontextdaten vom Benutzer gesteuert werden.

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

Zuständig

GitHub M

Reservieren

24.03.2026

Veröffentlichung

28.03.2026

Moderieren

akzeptiert

Eintrag

VDB-354009

CPE

bereit

EPSS

0.00703

KEV

nein

Aktivitäten

very low

Quellen

Might our Artificial Intelligence support you?

Check our Alexa App!