CVE-2026-33940

Published: Mar 27, 2026 Last Modified: Mar 27, 2026
ExploitDB:
Other exploit source:
Google Dorks:
HIGH 8,1
Attack Vector: network
Attack Complexity: high
Privileges Required: none
User Interaction: none
Scope: unchanged
Confidentiality: high
Integrity: high
Availability: high

Description

AI Translation Available

Handlebars provides the power necessary to let users build semantic templates. In versions 4.0.0 through 4.7.8, a crafted object placed in the template context can bypass all conditional guards in `resolvePartial()` and cause `invokePartial()` to return `undefined`. The Handlebars runtime then treats the unresolved partial as a source that needs to be compiled, passing the crafted object to `env.compile()`. Because the object is a valid Handlebars AST containing injected code, the generated JavaScript executes arbitrary commands on the server. The attack requires the adversary to control a value that can be returned by a dynamic partial lookup. Version 4.7.9 fixes the issue. Some workarounds are available. First, use the runtime-only build (`require('handlebars/runtime')`). Without `compile()`, the fallback compilation path in `invokePartial` is unreachable. Second, sanitize context data before rendering: Ensure no value in the context is a non-primitive object that could be passed to a dynamic partial. Third, avoid dynamic partial lookups (`{{> (lookup ...)}}`) when context data is user-controlled.

EPSS (Exploit Prediction Scoring System)

Trend Analysis

EPSS (Exploit Prediction Scoring System)

Prevede la probabilità di sfruttamento basata su intelligence sulle minacce e sulle caratteristiche della vulnerabilità.

EPSS Score
0,0005
Percentile
0,1th
Updated

EPSS Score Trend (Last 2 Days)

94

Improper Control of Generation of Code ('Code Injection')

Draft
Common Consequences
Security Scopes Affected:
Access Control Integrity Confidentiality Availability Non-Repudiation
Potential Impacts:
Bypass Protection Mechanism Gain Privileges Or Assume Identity Execute Unauthorized Code Or Commands Hide Activities
Applicable Platforms
Languages: Interpreted
Technologies: AI/ML
View CWE Details
843

Access of Resource Using Incompatible Type ('Type Confusion')

Incomplete
Common Consequences
Security Scopes Affected:
Availability Integrity Confidentiality
Potential Impacts:
Read Memory Modify Memory Execute Unauthorized Code Or Commands Dos: Crash, Exit, Or Restart
Applicable Platforms
Languages: C, C++
View CWE Details
https://github.com/handlebars-lang/handlebars.js/commit/68d8df5a88e0a26fe9e6084…
https://github.com/handlebars-lang/handlebars.js/releases/tag/v4.7.9
https://github.com/handlebars-lang/handlebars.js/security/advisories/GHSA-xhpv-…