[ CVE-2026-106444 · Published 6 Oct 2026 ]
Handlebars: JavaScript Injection via Unsafe Inline Embedding of Precompiled Templates
[ Why it matters ]Priority signals
- Public proof-of-concept exploit exists (CISA SSVC)
[ Description ]Official description
Handlebars provides the power necessary to let users build semantic templates. From 4.0.0 until 4.7.10, Handlebars.precompile() uses quotedString() in lib/handlebars/compiler/code-gen.js to emit static template text into generated JavaScript without escaping sequences that terminate an enclosing HTML script element. When an application precompiles attacker-controlled template text and embeds the generated source directly in an inline script element, a closing script delimiter can end the element and cause following attacker-controlled markup to be parsed and executed. Ordinary server-side rendering and precompiled templates served as external JavaScript files are not affected. This issue is fixed in version 4.7.10.
[ Fixes ]Fixes and patches
- handlebars 4.7.10Fixed version · GitHub Advisories · npm package handlebars: upgrade to 4.7.10 or later (affected >= 4.0.0, <= 4.7.9)
[ Packages ]Affected open-source packages
- handlebars npmAffected >= 4.0.0, <= 4.7.9 · fixed in 4.7.10 · GHSA-xw65-4hp5-5hc7