Patch Forecast
Red warning
Act within 24 hours.

CVE-2026-106446 · GHSA-8r5x-fm3f-whwj

Handlebars: JavaScript Injection via AST Type Confusion in compile (bypass of CVE-2026-33937)

Risk score
84/100
CVSS
9.8 v3.1
Exploit chance (30 days)
0.6%
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 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…
Affected
handlebars (npm) >= 4.0.0, <= 4.7.9
Fix
Upgrade handlebars to 4.7.10 or later.
Exploitation
Public proof of concept

Story map

Story map: handlebarsTHE FLAWSTHE FIXCVE-2026-106446Handlebars: JavaScriptInjection via AST TypeConfusion in compile (bypass…CVSS 9.8 · EPSS 1%CVE-2026-106445Handlebars: JavaScriptInjection via Own PropertyCheck BypassCVSS 9.2 · EPSS 0%CVE-2026-106444Handlebars: JavaScriptInjection via Unsafe InlineEmbedding of Precompiled…CVSS 4.7 · EPSS 0%Upgrade handlebars4.7.10or later on your release lineWho is exposedhandlebars (npm) >= 4.0.0, <=4.7.9RED · ACT TODAYhandlebarsHandlebars provides the powernecessary to let users buildsemantic templates. From 4.0.0until 4.7.10, Handlebars.compile()and Handlebars.precompile()accept pre-parsed AST objectswhile validating only selected…Where it standsPublic proof of conceptCONNECTS TOSame weaknessCode injection (CWE-94)239 other warnings in 30 days →
Story map: the flaws, the fix, how it unfolded and what it connects to. Boxes link to the record or article.

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-106446: Handlebars: JavaScript Injection via AST Type Confusion in compile (bypass of CVE-2026-33937) (CVSS 9.8 · EPSS 1%)
  • CVE-2026-106445: Handlebars: JavaScript Injection via Own Property Check Bypass (CVSS 9.2 · EPSS 0%)
  • 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

Why it is Red

  • CVSS 9.8 critical
  • Public exploit or proof of concept referenced
  • Remotely exploitable without logging in
  • On your watchlist: npm

Affected packages

PackageEcosystemVulnerableFixed in
handlebarsnpm>= 4.0.0, <= 4.7.94.7.10

References

Original description

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 introduced in version 4.7.9 for CVE-2026-33937. An attacker who can supply an object instead of a template string can place JavaScript expressions in unchecked values such as Program.blockParams.length, a non-PathExpression parameter depth, a non-string StringLiteral.value, or a non-string PathExpression.original. The compiler emits those values into generated JavaScript, causing code execution in the server process when compile output renders or wherever precompile output is loaded. Applications that pass only template strings are not affected. This issue is fixed in version 4.7.10.

Last activity 6 Oct 2026. Patch Forecast updates every hour.