Skip to main content
Public proof of conceptFix available

CVE-2026-33937

A public proof of concept exists; no exploitation attested.

  • Published2026-03-27
  • Fixed in4.7.9
  • WeaknessCWE-843 · CWE-94

Am I affected?

With a domain, we read the version its public headers and pages expose. A distribution build can carry the fix under an older number.

Description

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.

Timeline

dates in UTC
  1. 2026-03-2721:17CVE publishedNVD
  2. 2026-10-2319:23First public proof of conceptPoC-in-GitHub

Observed activity

isMalicious corpus · updated 2026-10-23 21:37 UTC
Indicators tagged with this CVE, per day0 indicators over 7 days
Block these indicators
  • Firewall list (EDL, text): https://api.ismalicious.com/edl/cve/CVE-2026-33937?format=txt
  • CSV export: https://api.ismalicious.com/edl/cve/CVE-2026-33937?format=csv
  • TAXII collection of exploited CVEs
  • The EDL and CSV take an API key on the Pro plan.

Versions per branch

NVD · OSV
Handlebarsjs handlebars
BranchAffectedFixed in
4.x≥ 4.0.0, < 4.7.94.7.9

as publishedRanges as NVD and OSV publish them; a distribution’s build can be fixed under an older number.

Distribution builds and vendor advisories

Packages from OSV.dev and products from the vendors' CSAF advisories.

version not verifiedVersions not verified: read as OSV.dev and the vendors publish them, not checked against each vendor's release list.

Vendor advisories

  • RHSA-2026:34342 Red Hat Product Security12 products fixed

    Red Hat Security Advisory: Cluster Observability Operator 1.5.0

  • RHSA-2026:10175 Red Hat Product Security4 products fixed

    Red Hat Security Advisory: Red Hat OpenShift Dev Spaces 3.27.1 Release.

Full record on NVD

Fix

  1. Update Handlebarsjs handlebars to 4.7.9
  2. Vendor fix Red Hat Product Security RHSA-2026:34342 · 12 productsBefore applying this update, make sure all previously released errata relevant to your system have been applied. For details on how to apply this update, refer to: https://access.redhat.com/articles/11258
  3. Vendor fix Red Hat Product Security RHSA-2026:10175 · 4 productsBefore applying this update, make sure all previously released errata relevant to your system have been applied. For details on how to apply this update, refer to: https://access.redhat.com/articles/11258
  4. Workaround from the vendor Red Hat Product Security RHSA-2026:34342 · 97 productsTo mitigate this issue, ensure that any input provided to the `Handlebars.compile()` function is strictly validated to be a string type, preventing the injection of crafted Abstract Syntax Tree (AST) objects. Additionally, for deployments where templates are pre-compiled at build time, consider uti…

Advisories and patches

Detection

read 2026-10-23 19:25 UTC
Nuclei template
none so far
ProjectDiscovery
Exploit-DB
no entry
Exploit-DB

Sources

  • NVDCVE recordread 2026-10-23
  • CISA-ADPSSVC decisionpoc2026-03-31
  • OpenCVESSVC decisionpoc—
  • CNACVSS 3.19.8read 2026-10-23
  • CNAweakness (CWE)CWE-843, CWE-94read 2026-10-23
  • FIRST EPSSEPSS score1.7 %2026-10-22
  • PoC-in-GitHubproof of concept4read 2026-10-23
  • OSVaffected packages—

Technical details

CVSS v3 Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Published
2026-03-27
Last Modified
2026-09-04
NVD status
Modified

Frequently asked questions

What is CVE-2026-33937?

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.

Is CVE-2026-33937 actively exploited?

A proof-of-concept exploit exists for CVE-2026-33937, but active exploitation has not been confirmed at this time.

What is the CVSS score for CVE-2026-33937?

CVE-2026-33937 has a CVSS v3 base score of 9.8 (CRITICAL severity), with vector string CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H.

Running handlebars? Hear about its next vulnerability

Surveillance reads the versions in your stack — a domain, a lockfile or a list — checks each CVE against the ranges its sources publish, and alerts you when one you run is exploited or enters CISA KEV. A version it cannot read stays « version not verified ».

No credit card required · No monthly cap on website lookups · 250 API requests/month