Read the docs

JavaScript injection in Handlebars via own property check bypass

Priority HIGH 81CWE-1289Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Attack requirements
Present
Impact type
—
Confidentiality · integrity · availability
High · High · High
Fix status
Partial Red Hat: 4 fixed, 7 without a fix

Attack profile from CVSS 4.0 · CNA. Fix status from CNA, GitHub and Red Hat.

Summary

The handlebars.js library, published on npm as handlebars, is affected from 3.0.0 before 4.7.10. Its lookupProperty function returns Function.prototype.constructor before the prototype-access deny list is applied, due to an incomplete list of disallowed inputs (CWE-184). A remote attacker without privileges who can render a controlled template with allowProtoMethodsByDefault enabled and an accessible function in the context can run JavaScript with the server application's privileges.

Written with Claude Haiku 5.5 from the sources below · 2026-11-06

Description from the CNA

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.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00589 48th percentileScored 2026-11-07
Fix Partial handlebars.js (handlebars-lang): 4.7.10handlebars (npm): 4.7.10Red Hat: 4 advisoriesRed Hat: 4 fixed, 7 without a fix

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
Yes
Technical impact
Total

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
handlebars-langhandlebars.js3.0.0 to before 4.7.104.7.10Patch availableCNA
—handlebars (npm)3.0.0 to before 4.7.104.7.10Patch availableGHSA-p8wg-vrv2-v86f
  • handlebars.js Vendorhandlebars-lang Affected 3.0.0 to before 4.7.10 Fixed in 4.7.10 Patch available CNA
  • handlebars (npm) Vendor— Affected 3.0.0 to before 4.7.10 Fixed in 4.7.10 Patch available GHSA-p8wg-vrv2-v86f

CPE names Threatist (inferred) · 1

Inferred from how NVD named this product before; not given by a source.

CPEVersionsRoleVendor
cpe:2.3:a:handlebarsjs:handlebars:*:*:*:*:*:*:*:*——handlebars-lang
  • cpe:2.3:a:handlebarsjs:handlebars:*:*:*:*:*:*:*:* Versions — — ·handlebars-lang

Remediation

Upgrade handlebars.js and the npm handlebars package to 4.7.10. Red Hat fixes are in RHSA-2026:95360 for Cryostat 4 on RHEL 9, RHSA-2026:92510 for Red Hat OpenShift AI 3.4, RHSA-2026:92307 for Red Hat Advanced Cluster Management for Kubernetes 2.13, and RHSA-2026:92303 for multicluster engine for Kubernetes 2.8. The sources list no fixed version for Node HealthCheck Operator, Red Hat AMQ Broker 7, Red Hat Enterprise Linux 8, Red Hat OpenShift AI (RHOAI), Red Hat OpenShift Dev Spaces, Red Hat Quay 3 and Self-service automation portal 2.

Written with Claude Haiku 5.5 from the sources below · 2026-11-06

  • Fix · CNA handlebars.js (handlebars-lang) Fixed in 4.7.10
  • Fix · GHSA-p8wg-vrv2-v86f handlebars (npm) Fixed in 4.7.10 Advisory →

Red Hat 4 advisories

  • RHSA-2026:95360 Released 2026-11-04 · Red Hat rating Important
    Red Hat build of Cryostat security update
    • Cryostat 4 on RHEL 9 cryostat/cryostat-grafana-dashboard-rhel9, cryostat/cryostat-openshift-console-plugin-rhel9, cryostat/cryostat-storage-rhel9
  • RHSA-2026:92510 Released 2026-10-29 · Red Hat rating Critical
    RHOAI 3.4.6 - Red Hat OpenShift AI
    • Red Hat OpenShift AI 3.4 registry.redhat.io/rhoai/odh-built-in-detector-rhel9, registry.redhat.io/rhoai/odh-cli-rhel9, registry.redhat.io/rhoai/odh-dashboard-rhel9 +47
  • RHSA-2026:92307 Released 2026-10-29 · Red Hat rating Important
    Red Hat Advanced Cluster Management for Kubernetes v2.13.14 security update
    • Red Hat Advanced Cluster Management for Kubernetes 2.13 registry.redhat.io/rhacm2/acm-grafana-rhel9, registry.redhat.io/rhacm2/acm-multicluster-observability-addon-rhel9, registry.redhat.io/rhacm2/acm-prometheus-config-reloader-rhel9 +16
Show 1 more Red Hat advisories
  • RHSA-2026:92303 Released 2026-10-29 · Red Hat rating Important
    multicluster engine for Kubernetes v2.8.12 security update
    • multicluster engine for Kubernetes 2.8 registry.redhat.io/multicluster-engine/addon-manager-rhel9, registry.redhat.io/multicluster-engine/backplane-rhel9-operator, registry.redhat.io/multicluster-engine/cluster-curator-controller-rhel9 +12

Vendor assessments

Red Hat

Red Hat rating: Important. Red Hat's page for this CVE →

ProductStatusPlan or fix
Node HealthCheck OperatorAffectedNo fix yet
Red Hat AMQ Broker 7AffectedNo fix yet
Red Hat Enterprise Linux 8AffectedNo fix yet
Red Hat OpenShift AI (RHOAI)AffectedNo fix yet
Red Hat OpenShift Dev SpacesAffectedNo fix yet
Red Hat Quay 3AffectedNo fix yet
Self-service automation portal 2AffectedNo fix yet
Cryostat 4 on RHEL 9Fixed RHSA-2026:95360
Red Hat Advanced Cluster Management for Kubernetes 2.13Fixed RHSA-2026:92307
Red Hat OpenShift AI 3.4Fixed RHSA-2026:92510
multicluster engine for Kubernetes 2.8Fixed RHSA-2026:92303
Not affected: 19 products
  • Cryostat 4 on RHEL 9
  • Red Hat AMQ Broker 7
  • Red Hat Advanced Cluster Management for Kubernetes 2.13
  • Red Hat Data Grid 8
  • Red Hat Developer Hub 1
  • Red Hat Enterprise Linux 10
  • Red Hat Enterprise Linux 7
  • Red Hat Enterprise Linux 8
  • Red Hat Enterprise Linux 9
  • Red Hat Enterprise Linux AI (RHEL AI) 3
  • Red Hat Hardened Images
  • Red Hat OpenShift AI (RHOAI)
  • Red Hat OpenShift AI 3.4
  • Red Hat OpenShift Dev Spaces
  • Red Hat OpenShift Update Service
  • Red Hat Trusted Profile Analyzer
  • Red Hat build of Apache Camel - HawtIO 4
  • Red Hat build of Apache Camel for Spring Boot 4
  • multicluster engine for Kubernetes 2.8

Timeline

  1. 2026-10-06 Threatist record created from CVE-2026-106445
  2. 2026-10-08 Alias added: GHSA-p8wg-vrv2-v86f
  3. 2026-10-08 Fix available: npm/[email protected] · GHSA-p8wg-vrv2-v86f
  4. 2026-10-08 CVSS score added · GHSA-p8wg-vrv2-v86f
  5. 2026-10-08 Weakness changed · GHSA-p8wg-vrv2-v86f
  6. 2026-10-08 6 new references · GHSA-p8wg-vrv2-v86f
  7. 2026-10-09 CISA SSVC decision points changed
  8. 2026-10-09 Priority changed: MEDIUM → HIGH
  9. 2026-10-10 Affected versions changed · Red Hat
  10. 2026-10-10 CVSS score added · Red Hat
  11. 2026-10-12 Affected versions changed · CNA
  12. 2026-10-12 Affected versions changed · GHSA-p8wg-vrv2-v86f
  13. 2026-10-15 Affected versions changed · Red Hat
  14. 2026-10-16 Affected versions changed · Red Hat
  15. 2026-10-20 Affected versions changed · Red Hat
  16. 2026-10-27 Affected versions changed · Red Hat
  17. 2026-10-30 Fix available: RHSA-2026:92303 · Red Hat
  18. 2026-10-30 Fix available: RHSA-2026:92307 · Red Hat
  19. 2026-10-30 Fix available: RHSA-2026:92510 · Red Hat
  20. 2026-10-30 Fix available: Red Hat Advanced Cluster Management for Kubernetes 2.13, Red Hat OpenShift AI 3.4, multicluster engine for Kubernetes 2.8 · Red Hat
  21. 2026-11-05 Fix available: Cryostat 4 on RHEL 9 · Red Hat
  22. 2026-11-06 Fix available: RHSA-2026:95360 · Red Hat

References

  • TI-2026-68926 JavaScript injection in Handlebars compile via crafted AST objects CVSS 3.1CRITICAL 9.8
  • TI-2026-26288 Handlebars.js has JavaScript Injection via AST Type Confusion CVSS 3.1CRITICAL 9.8
  • TI-2026-26290 Handlebars.js has Denial of Service via Malformed Decorator Syntax in Template Compilation CVSS 3.1HIGH 7.5
  • TI-2026-26292 Handlebars.js has JavaScript Injection in CLI Precompiler via Unescaped Names and Options CVSS 3.1HIGH 8.3
  • TI-2026-26291 Handlebars.js has JavaScript Injection via AST Type Confusion when passing an object as dynamic partial CVSS 3.1HIGH 8.1
  • TI-2026-26289 Handlebars.js has JavaScript Injection via AST Type Confusion by tampering @partial-block CVSS 3.1HIGH 8.1
See all 12 →

Sources