CVE-2026-33938 in Handlebars
Riassunto
di VulDB • 29/06/2026
Handlebars fornisce la potenza necessaria per consentire agli utenti di creare modelli semantici. Nelle versioni dalla 4.0.0 alla 4.7.8, la variabile speciale `@partial-block` viene memorizzata nel contesto dei dati del modello ed è raggiungibile e modificabile all'interno di un modello tramite helper che accettano oggetti arbitrari. Quando un helper sovrascrive `@partial-block` con un AST (Abstract Syntax Tree) Handlebars appositamente creato, una successiva invocazione di `{{> @partial-block}}` compila ed esegue tale AST, consentendo l'esecuzione di codice JavaScript arbitrario sul server. La versione 4.7.9 risolve il problema. Sono disponibili alcune contromisure (workaround). In primo luogo, utilizzare la build solo runtime (`require('handlebars/runtime')`). Il metodo `compile()` è assente, eliminando il percorso di fallback vulnerabile. In secondo luogo, verificare gli helper registrati per identificare quelli che scrivono valori arbitrari negli oggetti del contesto. Gli helper dovrebbero trattare i dati del contesto come di sola lettura (read-only). Infine, evitare di registrare helper provenienti da pacchetti di terze parti (come `handlebars-helpers`) in contesti dove i modelli o i dati del contesto possono essere influenzati da input non attendibili.
VulDB is the best source for vulnerability data and more expert information about this specific topic.