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.
CVE-2026-33941
This high-severity CVE scores 8.2 under NVD CVSS v3. EPSS exploit-prediction score not yet available (the EPSS model rescores nightly; freshly-published CVEs typically appear within 48 hours). GitHub Security Advisory data not yet ingested — confidence will rise once GHSA publishes (typical lag: hours to days for open-source ecosystem CVEs; never for infrastructure-only CVEs).
- High severity, but no confirmed exploitation yet
A fix is available — apply it.
- CVSS v3
- 8.2
- EG Score
- 8.2(low)
- EPSS
- 20.9%
- KEV
- Not listed
Published
March 27, 2026
Last Modified
July 2, 2026
Advisory Details (7)
Auto-updated Jun 30, 2026Affected: Red Hat Enterprise Linux 10",
https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-33941.json2452524 – (CVE-2026-33941) CVE-2026-33941 handlebars.js: Handlebars: Arbitrary code execution via CLI precompiler input sanitization flaw
https://bugzilla.redhat.com/show_bug.cgi?id=2452524JavaScript Injection in CLI Precompiler via Unescaped Names and Options · Advisory · handlebars-lang/handlebars.js · GitHub
https://github.com/handlebars-lang/handlebars.js/security/advisories/GHSA-xjpj-3mr7-gcpfv4.7.9
Patch available: handlebars-lang/handlebars.js v4.7.9
https://github.com/handlebars-lang/handlebars.js/releases/tag/v4.7.9commit 68d8df5a88e0 (handlebars-lang/handlebars.js)
Patch available: handlebars-lang/handlebars.js v4.7.9 (contains commit 68d8df5a88e0)
https://github.com/handlebars-lang/handlebars.js/commit/68d8df5a88e0a26fe9e6084c5c6aaebe67b07da2Vendor Advisories for CVE-2026-33941(3)
These vendors published their own advisory mentioning this CVE — often with vendor-specific remediation steps + affected product lists not in NVD.
- RHSA-2026:34342Red Hat Product SecurityCritical
Red Hat Security Advisory: Cluster Observability Operator 1.5.0
- CVE-2026-33941Microsoft Security Response Center (MSRC)High
Handlebars.js has JavaScript Injection in CLI Precompiler via Unescaped Names and Options
- RHSA-2026:10175Red Hat Product SecurityHigh
Red Hat Security Advisory: Red Hat OpenShift Dev Spaces 3.27.1 Release.
Patch Availability(1)
| Vendor / Ecosystem | Fixed in / Patch | Released | Source |
|---|---|---|---|
| redhat | devspaces/code-rhel9:1776744110 | 2026-04-23 | redhat |
Patches are aggregated from vendor advisories (Red Hat, Microsoft, Cisco, GitHub) and package ecosystems (OSV, GHSA). Multiple rows for the same upstream release have been deduplicated.
Affected Packages
(1 across 1 ecosystem)
npm(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| handlebars | — | 4.7.9 | — |
Weakness Classification(3)
MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.
Data Freshness Timeline
(refreshed 8× in last 7d / 11× in last 30d)
Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.
- 2026-07-06 16:27 UTCEPSS rescore
- 2026-07-06 16:27 UTCEPSS rescore
- 2026-07-06 02:23 UTCEPSS rescore
- 2026-07-06 02:23 UTCEPSS rescore
- 2026-07-05 02:30 UTCEPSS rescore
- 2026-07-04 06:31 UTCEPSS rescore
- 2026-07-01 15:06 UTCEPSS rescore
- 2026-06-30 23:22 UTCEPSS rescore
- 2026-06-30 04:36 UTCEG score recompute
- 2026-06-30 04:36 UTCVendor advisory
- 2026-06-30 04:32 UTCNVD updatefirst tracked
Related CVEs(same vendor + same CWE)
Same vendor
10 shownredhat
Frequently asked(5)
What is CVE-2026-33941?
When was CVE-2026-33941 disclosed?
Is CVE-2026-33941 actively exploited?
What is the CVSS score of CVE-2026-33941?
How do I remediate CVE-2026-33941?
Dependency Blast Radius
See which npm, PyPI, Go, and Maven packages are affected by CVE-2026-33941
Is Your Infrastructure Affected by CVE-2026-33941?
EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.