CVE-2026-106445 · GHSA-p8wg-vrv2-v86f
Handlebars: JavaScript Injection via Own Property Check Bypass
- Risk score
- 77/100
- CVSS
- 9.2 v4.0
- Exploit chance (30 days)
- 0.4%
- Published
- 6 Oct 2026
Open in the live forecast Today's forecast
What to know
- What it is
- 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 …
- Affected
- handlebars (npm) >= 3.0.0, <= 4.7.9
- Fix
- Upgrade handlebars to 4.7.10 or later.
- Exploitation
- Public proof of concept
Story map
At a glance
handlebars: Red, act today. Handlebars provides the power necessary to let users build semantic templates. From 4.0.0 until 4.7.10, Handlebars.compile() and Handlebars.precompile() accept pre-parsed AST objects while validating only selected PathExpression, NumberLiteral, and BooleanLiteral values. This issue bypasses the AST validation introduc…
The flaws
- CVE-2026-106445: Handlebars: JavaScript Injection via Own Property Check Bypass (CVSS 9.2 · EPSS 0%)
- CVE-2026-106446: Handlebars: JavaScript Injection via AST Type Confusion in compile (bypass of CVE-2026-33937) (CVSS 9.8 · EPSS 1%)
- CVE-2026-106444: Handlebars: JavaScript Injection via Unsafe Inline Embedding of Precompiled Templates (CVSS 4.7 · EPSS 0%)
The fix
Upgrade handlebars: 4.7.10 or later on your release line
Who is exposed: handlebars (npm) >= 4.0.0, <= 4.7.9
Where it stands
- Public proof of concept
Connects to
- Same weakness: CWE-184 (CWE-184). 31 other warnings in 30 days
Why it is Amber
- CVSS 9.2 critical
- Public exploit or proof of concept referenced
- Remotely exploitable without logging in
- On your watchlist: npm
Affected packages
| Package | Ecosystem | Vulnerable | Fixed in |
|---|---|---|---|
| handlebars | npm | >= 3.0.0, <= 4.7.9 | 4.7.10 |
References
- https://github.com/advisories/GHSA-p8wg-vrv2-v86f
- https://github.com/handlebars-lang/handlebars.js/security/advisories/GHSA-p8wg-vrv2-v86f
- https://nvd.nist.gov/vuln/detail/CVE-2026-106445
- https://github.com/handlebars-lang/handlebars.js/pull/2185
- https://github.com/handlebars-lang/handlebars.js/commit/ceec388abe1d1aac8f6369860d5f390fa71ef4fa
- https://github.com/handlebars-lang/handlebars.js/releases/tag/v4.7.10
- https://github.com/advisories/GHSA-p8wg-vrv2-v86f
Original 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.
Last activity 6 Oct 2026. Patch Forecast updates every hour.