GHSA-2w6w-674q-4c4q · Severity: critical · Ecosystem: npm — Handlebars.js has JavaScript Injection via AST Type Confusion
Handlebars provides the power necessary to let users build semantic templates. In versions 4.0.0 through 4.7.8, `Handlebars.compile()` accepts a pre-parsed AST object in addition to a template string. The `value` field of a `NumberLiteral` AST node is emitted directly into the generated JavaScript without quoting or sanitization. An attacker who can supply a crafted AST to `compile()` can therefore inject and execute arbitrary JavaScript, leading to Remote Code Execution on the server. Version 4.7.9 fixes the issue. Some workarounds are available. Validate input type before calling `Handlebars.compile()`; ensure the argument is always a `string`, never a plain object or JSON-deserialized value. Use the Handlebars runtime-only build (`handlebars/runtime`) on the server if templates are pre-compiled at build time; `compile()` will be unavailable.
Conclusion & alert: CVE-2026-33937 is rated High Exploit Risk (66.6/100): CVSS Critical severity, with low exploitation likelihood (EPSS 0.15%). 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-04-21 | 0.43% | 0.15% | -0.27% |
| 2 | 2026-04-02 | 0.25% | 0.43% | +0.18% |
| 3 | 2026-03-28 | — | 0.25% | — |
Full EPSS history (3 records total)
CVSS metrics for this CVE.
| Base score | Version | Severity | Vector | Exploitability | Impact | Score source |
|---|---|---|---|---|---|---|
| 9.8 | 3.1 | CRITICAL |
|
3.9 | 5.9 | [email protected] |
GHSA-2w6w-674q-4c4q · Severity: critical · Ecosystem: npm — Handlebars.js has JavaScript Injection via AST Type Confusion
| vendor | priority | summary | link |
|---|---|---|---|
debian
|
not yet assigned | CVE-2026-33937 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-33937 |
redhat
|
high | — | https://access.redhat.com/security/cve/CVE-2026-33937 |
ubuntu
|
medium | CVE-2026-33937 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-33937 |
| Vendor | Product | Version | Raw CPE |
|---|---|---|---|
| handlebarsjs | handlebars | >= 4.0.0, < 4.7.9 | cpe:2.3:a:handlebarsjs:handlebars:*:*:*:*:*:node.js:*:* |