Ad

CVE-2026-33938

HIGH CVSS 3.1: 8.1 EPSS 0.09%
Updated Mar 31, 2026
Handlebarsjs
Parameter Value
CVSS 8.1 (HIGH)
Affected Versions 4.0.0 — 4.7.9
Fixed In 4.7.9
Type CWE-843 (Type Confusion), CWE-94 (Code Injection)
Vendor Handlebarsjs
Public PoC No

Handlebars provides the power necessary to let users build semantic templates. In versions 4.0.0 through 4.7.8, the `@partial-block` special variable is stored in the template data context and is reachable and mutable from within a template via helpers that accept arbitrary objects. When a helper overwrites `@partial-block` with a crafted Handlebars AST, a subsequent invocation of `{{> @partial-block}}` compiles and executes that AST, enabling arbitrary JavaScript execution on the server.

Version 4.7.9 fixes the issue. Some workarounds are available. First, use the runtime-only build (`require('handlebars/runtime')`).

The `compile()` method is absent, eliminating the vulnerable fallback path. Second, audit registered helpers for any that write arbitrary values to context objects. Helpers should treat context data as read-only.

Third, avoid registering helpers from third-party packages (such as `handlebars-helpers`) in contexts where templates or context data can be influenced by untrusted input.

Attack Parameters

Attack Vector
Network
Can be exploited remotely
Attack Complexity
High
Difficult to exploit
Privileges Required
None
No privileges needed
User Interaction
None
No user interaction needed

Impact Assessment

Confidentiality
High
Complete data leak
Integrity
High
Complete data modification
Availability
High
Complete denial of service

CVSS Vector v3.1

Vulnerable Products 1

Configuration From (including) Up to (excluding)
Handlebarsjs Handlebars
cpe:2.3:a:handlebarsjs:handlebars:*:*:*:*:*:node.js:*:*
4.0.0 4.7.9