High severity · published Mar 27, 2026
CVE-2026-33941
Handlebars.js has JavaScript Injection in CLI Precompiler via Unescaped Names and Options
8.2
CVSS
0.3%
EPSS
No
On KEV
Description
Handlebars provides the power necessary to let users build semantic templates. In versions 4.0.0 through 4.7.8, the Handlebars CLI precompiler (`bin/handlebars` / `lib/precompiler.js`) concatenates user-controlled strings — template file names and several CLI options — directly into the JavaScript it emits, without any escaping or sanitization. An attacker who can influence template filenames or CLI arguments can inject arbitrary JavaScript that executes when the generated bundle is loaded in Node.js or a browser. Version 4.7.9 fixes the issue. Some workarounds are available. First, validate all CLI inputs before invoking the precompiler. Reject filenames and option values that contain characters with JavaScript string-escaping significance (`"`, `'`, `;`, etc.). Second, use a fixed, trusted namespace string passed via a configuration file rather than command-line arguments in automated pipelines. Third, run the precompiler in a sandboxed environment (container with no write access to sensitive paths) to limit the impact of successful exploitation. Fourth, audit template filenames in any repository or package that is consumed by an automated build pipeline.
CVSS vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H
Attack vector
Local
Complexity
Low
Privileges
Low
User interaction
Required
Confidentiality
High
Integrity
High
Availability
High
Scope
Changed
Exploitation
Is it being used?
Exploit prediction (EPSS)0.3% · higher than 22% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
HA
handlebars.js · handlebars-lang
>= 4.0.0, < 4.7.9 · source: vendor
HA
Handlebars · Handlebarsjs
4.0.0 before 4.7.9 · source: NVD
CO
Cluster Observability Operator 1.5.0 · Red Hat
All versions, or not specified · source: CISA
LS
Logging Subsystem for Red Hat OpenShift · Red Hat
All versions, or not specified · source: CISA
RH
Red Hat Developer Hub · Red Hat
All versions, or not specified · source: CISA
RH
Red Hat Enterprise Linux 10 · Red Hat
All versions, or not specified · source: CISA
RH
Red Hat Enterprise Linux 8 · Red Hat
All versions, or not specified · source: CISA
RH
Red Hat Enterprise Linux 9 · Red Hat
All versions, or not specified · source: CISA
RH
Red Hat OpenShift Dev Spaces 3.27 · Red Hat
All versions, or not specified · source: CISA
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-33941
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-33941
Patch
https://github.com/handlebars-lang/handlebars.js/commit/68d8df5a88e0a26fe9e6084c5c6aaebe67b07da2
Release Notes
https://github.com/handlebars-lang/handlebars.js/releases/tag/v4.7.9
Exploit
https://github.com/handlebars-lang/handlebars.js/security/advisories/GHSA-xjpj-3mr7-gcpf
access.redhat.com
https://access.redhat.com/errata/RHSA-2026:10175
access.redhat.com
https://access.redhat.com/errata/RHSA-2026:34342
access.redhat.com
https://access.redhat.com/security/cve/CVE-2026-33941
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
9.2
CVE-2026-106445
Handlebars: JavaScript Injection via Own Property Check Bypass
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
