GHSA-xjpj-3mr7-gcpf · Severity: high · Ecosystem: npm — Handlebars.js has JavaScript Injection in CLI Precompiler via Unescaped Names and Options
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.
Conclusion & alert: CVE-2026-33941 is rated Exploit Available (50/100): CVSS High severity, with low exploitation likelihood (EPSS 0.02%). Core evidence: 1 public exploit reference(s) are indexed (Exploit-DB). Mandatory action: Public exploits are available—assess exposure, apply mitigations, and prioritize patching.
Risk is dynamic; we continuously reassess and refresh what is shown on this page as upstream context changes.
| EDB-ID | Source | Kind | Published | Link |
|---|---|---|---|---|
| — | nvd_ref | exploit_tag | Exploit-DB ↗ |
EPSS lead: Daily EPSS estimates relative likelihood of exploitation; percentile ranks this CVE among scored vulnerabilities (higher = more severe relative rank).
| # | Date | Old EPSS score | New EPSS score | Delta (New - Old) |
|---|---|---|---|---|
| 1 | 2026-03-28 | — | 0.02% | — |
Full EPSS history (1 record total)
CVSS metrics for this CVE.
| Base score | Version | Severity | Vector | Exploitability | Impact | Score source |
|---|---|---|---|---|---|---|
| 8.2 | 3.1 | HIGH |
|
1.5 | 6.0 | [email protected] |
| 8.2 | 3.1 | HIGH |
|
1.5 | 6.0 | [email protected] |
GHSA-xjpj-3mr7-gcpf · Severity: high · Ecosystem: npm — Handlebars.js has JavaScript Injection in CLI Precompiler via Unescaped Names and Options
| vendor | priority | summary | link |
|---|---|---|---|
debian
|
not yet assigned | CVE-2026-33941 not yet assigned priority: Debian including 1 source packages (node-handlebars), 5 status rows across 5 suites (bookworm, bullseye, forky, sid, trixie): open 3, resolved 2. | https://security-tracker.debian.org/tracker/CVE-2026-33941 |
redhat
|
high | — | https://access.redhat.com/security/cve/CVE-2026-33941 |
ubuntu
|
medium | CVE-2026-33941 medium priority: Ubuntu including 1 source packages (node-handlebars), 6 status rows across 6 suites (bionic, focal, jammy, noble, questing, upstream): needs-triage 5, released 1. | https://ubuntu.com/security/CVE-2026-33941 |
| Vendor | Product | Version | Raw CPE |
|---|---|---|---|
| handlebarsjs | handlebars | >= 4.0.0, < 4.7.9 | cpe:2.3:a:handlebarsjs:handlebars:*:*:*:*:*:node.js:*:* |