---
id: CVE-2026-106445
title: Handlebars provides the power necessary to let users build semantic templates
summary: >-
  Handlebars provides the power necessary to let users build semantic templates.
  From 3.0.0 until 4.7.10, Handlebars lookupProperty returns
  Function.prototype.constructor before applying the prototype-access deny list
  because constructor i…
severity: critical
cvss: 9.2
cvssVector: 'CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N'
cwe:
  - CWE-184
  - CWE-1289
vendor: handlebars-lang
product: handlebars.js
affected:
  - 'handlebars.js >= 4.0.0, < 4.7.10'
patched:
  - handlebars 4.7.10
published: '2026-10-06'
updated: '2026-10-12'
sourceUpdated: '2026-10-12T15:17:06.910'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-106445'
references:
  - url: >-
      https://github.com/handlebars-lang/handlebars.js/commit/ceec388abe1d1aac8f6369860d5f390fa71ef4fa
    label: security-advisories@github.com
  - url: 'https://github.com/handlebars-lang/handlebars.js/pull/2185'
    label: security-advisories@github.com
  - url: 'https://github.com/handlebars-lang/handlebars.js/releases/tag/v4.7.10'
    label: security-advisories@github.com
  - url: >-
      https://github.com/handlebars-lang/handlebars.js/security/advisories/GHSA-p8wg-vrv2-v86f
    label: security-advisories@github.com
  - url: >-
      https://github.com/handlebars-lang/handlebars.js/security/advisories/GHSA-p8wg-vrv2-v86f
    label: 134c704f-9b21-4f2e-91b3-4a467353bcc0
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-106445'
  - url: 'https://github.com/advisories/GHSA-p8wg-vrv2-v86f'
  - url: >-
      https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-106445.json
  - url: 'https://access.redhat.com/security/cve/CVE-2026-106445'
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2547112'
  - url: 'https://www.cve.org/CVERecord?id=CVE-2026-106445'
tags:
  - nvd
  - exploit-available
  - cve.org
  - ghsa
  - npm
  - csaf
  - vex
  - red-hat
epss: 0.00589
epssPercentile: 0.47947
exploits:
  github: 1
  githubRepos:
    - 'https://github.com/murrez/CVE-2026-106445'
  checkedAt: '2026-10-27T16:55:04.792Z'
exploitAvailable: true
aliases:
  - GHSA-p8wg-vrv2-v86f
ecosystem: npm
cvssSource: cna
scores:
  cna: 9.2
  vendor: 8.1
ingestedAt: '2026-10-06T20:16:42.486Z'
ssvc:
  exploitation: poc
  automatable: 'yes'
  technicalImpact: total
  timestamp: '2026-10-09T01:42:53.531967Z'
---

## Overview

Handlebars provides the power necessary to let users build semantic templates. From 3.0.0 until 4.7.10, Handlebars lookupProperty returns Function.prototype.constructor before applying the prototype-access deny list because constructor is an own property of Function.prototype. When an attacker can render a controlled template with allowProtoMethodsByDefault enabled and an accessible function in the template context, the template can traverse from that function through its prototype to Function.prototype and then obtain the Function constructor through the own-property bypass. This permits attacker-controlled JavaScript to execute with the server application's privileges. This issue is fixed in version 4.7.10.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.

## Package advisory (CVE-2026-106445)

Affected packages:

- `handlebars >= 4.0.0, <= 4.7.9`

Patched in:

- `handlebars 4.7.10`

Source: https://github.com/advisories/GHSA-p8wg-vrv2-v86f

## Vendor advisories

- **Red Hat VEX** · Important · affected: Cryostat 4, Multicluster Engine for Kubernetes, Node HealthCheck Operator, Red Hat Advanced Cluster Management for Kubernetes 2, Red Hat AMQ Broker 7, Red Hat build of Apache Camel for Spring Boot 4, … · no fix planned: Cryostat 4, Multicluster Engine for Kubernetes, Node HealthCheck Operator, Red Hat Advanced Cluster Management for Kubernetes 2, … · updated 2026-10-13 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-106445.json)
