8.1

CVE-2026-33938: handlebars-lang handlebars.js Code Injection

CVSS: 8.1v3.1HighModified
AliasesUBUNTU-CVE-2026-33938DEBIAN-CVE-2026-33938CGA-2p4h-4q94-xh66
Published 27-03-2026Last modified 04-09-2026

Vulnerability summary

CVE-2026-33938 is a high (CVSS 8.1) Code Injection vulnerability in handlebars-lang handlebars.js. EPSS estimates a 0.84% chance of exploitation in the next 30 days, higher than 57.2% of scored vulnerabilities. 1 public exploit is recorded.

Overall risk
43/100
0100
Medium · default modelHow is this calculated?
CVSS score
8.1/10
010
High · v3.1 (CVE.org)
EPSS score
0.84%
0%100%
Low · +0.13 pp in 30 days
KEVNot listedIn no KEV catalog
RansomwareNone recordedNo known use recorded
Public exploits1github

Advisory lineage

Upstream 0 · Downstream 0 · Related 1

Timeline

  1. 27-03-2026
    PublishedVulnerability first disclosed.
  2. 04-09-2026
    Last modifiedVulnerability information updated.

Description

Handlebars provides the power necessary to let users build semantic templates. In versions 4.0.0 through 4.7.8, the `@partial-block` special variable is stored in the template data context and is reachable and mutable from within a template via helpers that accept arbitrary objects. When a helper overwrites `@partial-block` with a crafted Handlebars AST, a subsequent invocation of `{{> @partial-block}}` compiles and executes that AST, enabling arbitrary JavaScript execution on the server. Version 4.7.9 fixes the issue. Some workarounds are available. First, use the runtime-only build (`require('handlebars/runtime')`). The `compile()` method is absent, eliminating the vulnerable fallback path. Second, audit registered helpers for any that write arbitrary values to context objects. Helpers should treat context data as read-only. Third, avoid registering helpers from third-party packages (such as `handlebars-helpers`) in contexts where templates or context data can be influenced by untrusted input.

CVSS metrics

7 scores · 7 sources · 1 version

EPSS trend

Probability

0.84%

Chance of exploitation in the next 30 days

Percentile

57%

Versus all other CVEs

30-day change

+0.13 pp

From 0.71% on 19-09-2026

19-09-202619-10-2026
EPSS score
0.84%

Known exploited

Compare KEV catalogs

Not in any of the 3 tracked catalogs.

Public exploits

1 found
  • githubUnverified

    Handlebars.Js

    Maturity: poc

Weaknesses

CWE · root cause

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
Handlebarsjs1 product
Npm1 product
  • handlebars≥ 4.0.0, < 4.7.9
Ubuntu1 product
  • node-handlebarsAll versions (No fix recorded)

7 vendors · 78 products

References

14 links
Show all 14 references