CVE-2026-33939: handlebars-lang handlebars.js
Vulnerability summary
CVE-2026-33939 is a high (CVSS 7.5) vulnerability in handlebars-lang handlebars.js. EPSS estimates a 0.76% chance of exploitation in the next 30 days, higher than 54.3% of scored vulnerabilities. 1 public exploit is recorded.
Advisory lineage
Upstream 0 · Downstream 0 · Related 1Timeline
- 27-03-2026PublishedVulnerability first disclosed.
- 04-09-2026Last modifiedVulnerability information updated.
Description
Handlebars provides the power necessary to let users build semantic templates. In versions 4.0.0 through 4.7.8, when a Handlebars template contains decorator syntax referencing an unregistered decorator (e.g. `{{*n}}`), the compiled template calls `lookupProperty(decorators, "n")`, which returns `undefined`. The runtime then immediately invokes the result as a function, causing an unhandled `TypeError: ... is not a function` that crashes the Node.js process. Any application that compiles user-supplied templates without wrapping the call in a `try/catch` is vulnerable to a single-request Denial of Service. Version 4.7.9 fixes the issue. Some workarounds are available. Wrap compilation and rendering in `try/catch`. Validate template input before passing it to `compile()`; reject templates containing decorator syntax (`{{*...}}`) if decorators are not used in your application. Use the pre-compilation workflow; compile templates at build time and serve only pre-compiled templates; do not call `compile()` at request time.
CVSS metrics
7 scores · 7 sources · 1 version- OSV · UbuntuEcosystem advisory · calculated7.5HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- OSV · DebianEcosystem advisory · calculated7.5HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- OSV · WolfiEcosystem advisory · calculated7.5HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- OSV · NpmEcosystem advisory · calculated7.5HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- OSV · ChainguardEcosystem advisory · calculated7.5HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- NVDNIST7.5HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
EPSS trend
Probability
0.76%
Chance of exploitation in the next 30 days
Percentile
54%
Versus all other CVEs
30-day change
+0.14 pp
From 0.62% on 18-09-2026
Known exploited
Compare KEV catalogsNot in any of the 3 tracked catalogs.
Public exploits
1 foundHandlebars.Js
Maturity: poc
Weaknesses
CWE · root cause- CWE-754Improper Check for Unusual or Exceptional ConditionsThe product does not check or incorrectly checks for unusual or exceptional conditions that are not expected to occur frequently during day to day operation of the product.
- CWE-248Uncaught ExceptionAn exception is thrown from a function, but it is not caught.
Affected systems
Chainguard62 products
- gitlab-rails-ce-18.1< 18.1.6-r14
- gitlab-rails-ce-18.10All versions (No fix recorded)
- gitlab-rails-ce-18.11< 18.11.6-r2
- gitlab-rails-ce-18.5All versions (No fix recorded)
- gitlab-rails-ce-18.6All versions (No fix recorded)
Wolfi11 products
- jupyter-base-notebook< 7.6.3-r2
- lerna< 9.0.7-r2
- nextcloud-server-32< 32.0.12-r1
- opensearch-dashboards-3< 3.5.0-r12
- prism< 5.14.3-r13
Debian1 product
- node-handlebarsAll versions (No fix recorded) | < 3:4.7.9-1
Handlebars-lang1 product
- handlebars.js≥ 4.0.0, < 4.7.9
Handlebarsjs1 product
- handlebars≥ 4.0.0, < 4.7.9
Npm1 product
- handlebars≥ 4.0.0, < 4.7.9
Ubuntu1 product
- node-handlebarsAll versions (No fix recorded)
7 vendors · 78 products
References
14 links- github.com/handlebars-lang/handlebars.js/security/advisories/GHSA-9cx6-37pm-9jffX Refsource CONFIRMREPORTAdvisoryWEBExploitVendor Advisory
- github.com/handlebars-lang/handlebars.js/commit/68d8df5a88e0a26fe9e6084c5c6aaebe67b07da2X Refsource MISCREPORTFIXWEBPatch