Critical severity · published Oct 6, 2026
CVE-2026-106445
Handlebars: JavaScript Injection via Own Property Check Bypass
9.2
CVSS
0.6%
EPSS
No
On KEV
Description
Handlebars provides the power necessary to let users build semantic templates. From 3.0.0 until 4.7.10, Handlebars lookupProperty returns Function.prototype.constructor before applying the prototype-access deny list because constructor is an own property of Function.prototype. When an attacker can render a controlled template with allowProtoMethodsByDefault enabled and an accessible function in the template context, the template can traverse from that function through its prototype to Function.prototype and then obtain the Function constructor through the own-property bypass. This permits attacker-controlled JavaScript to execute with the server application's privileges. This issue is fixed in version 4.7.10.
Exploitation
Is it being used?
Exploit prediction (EPSS)0.6% · higher than 48% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
HA
handlebars.js · handlebars-lang
>= 3.0.0, < 4.7.10 · source: vendor
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-106445
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-106445
x_refsource_CONFIRM
https://github.com/handlebars-lang/handlebars.js/security/advisories/GHSA-p8wg-vrv2-v86f
x_refsource_MISC
https://github.com/handlebars-lang/handlebars.js/pull/2185
x_refsource_MISC
https://github.com/handlebars-lang/handlebars.js/commit/ceec388abe1d1aac8f6369860d5f390fa71ef4fa
x_refsource_MISC
https://github.com/handlebars-lang/handlebars.js/releases/tag/v4.7.10
More from handlebars.js
9.8
CVE-2026-106446
Handlebars: JavaScript Injection via AST Type Confusion in compile (Program.blockParams)
9.8
CVE-2026-33937
Handlebars.js has JavaScript Injection via AST Type Confusion
8.2
CVE-2026-33941
Handlebars.js has JavaScript Injection in CLI Precompiler via Unescaped Names and Options
8.1
CVE-2026-33940
Handlebars.js has JavaScript Injection via AST Type Confusion when passing an object as dynamic partial
8.1
CVE-2026-33938
Handlebars.js has JavaScript Injection via AST Type Confusion by tampering @partial-block
