Skip to content
Fencer Intel
critical 9.8

CVE-2026-106446 json

Handlebars: JavaScript Injection via AST Type Confusion in compile (Program.blockParams)

published last mo. modified last mo. also EUVD-2026-93969 , GHSA-8r5x-fm3f-whwj

cvss
9.8
version 3.1, CNA
cisa kev
Not listed
not in CISA's catalog
epss
0.8%
EPSS 0.8% chance of exploitation in 30 days, percentile 56%
public exploits
0
none known

Summary

Handlebars provides the power necessary to let users build semantic templates. From 4.0.0 until 4.7.10, Handlebars.compile() and Handlebars.precompile() accept pre-parsed AST objects while validating only selected PathExpression, NumberLiteral, and BooleanLiteral values. This issue bypasses the AST validation introduced in version 4.7.9 for CVE-2026-33937. An attacker who can supply an object instead of a template string can place JavaScript expressions in unchecked values such as Program.blockParams.length, a non-PathExpression parameter depth, a non-string StringLiteral.value, or a non-string PathExpression.original. The compiler emits those values into generated JavaScript, causing code execution in the server process when compile output renders or wherever precompile output is loaded. Applications that pass only template strings are not affected. This issue is fixed in version 4.7.10.

Patch / fix

  • npm handlebars 4.7.10
  • handlebarsjs handlebars 4.7.10
  • handlebars.js_project handlebars.js 4.7.10
  • node-handlebars Debian 14 3:4.7.10-1

debian advisories DEBIAN-CVE-2026-106446

Is CVE-2026-106446 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.

Check with Fencer

Vendor advisories

What the vendors themselves say about their products: affected, fixed or not affected, and what to do.

red hat product security vex CVE-2026-106446 updated cvss 8.1

handlebars: Handlebars: JavaScript Injection via AST Type Confusion in compile (Program.blockParams)

  • Red Hat Node HealthCheck Operator workload-availability/node-remediation-console-rhel8, workload-availability/node-healthcheck-rhel9-operator, workload-availability/node-healthcheck-operator-bundle, workload-availability/node-healthcheck-must-gather-rhel9 Red Hat AMQ Broker 7 amq-broker-maven-repository.zip Red Hat build of Apache Camel - HawtIO 4 rhaf-hawtio-maven-repository.zip Red Hat Enterprise Linux 8 cockpit, mozjs60, cockpit-ws, cockpit-pcp, cockpit-bridge, cockpit-system, +4 more Red Hat OpenShift AI (RHOAI) rhoai/odh-core-bff-rhel9, rhoai/odh-dashboard-operator-rhel9, rhoai/odh-mod-arch-agent-ops-rhel9 Red Hat OpenShift Dev Spaces devspaces/dashboard-rhel9
    +1 more products
    Red Hat Self-service automation portal 2 ansible-automation-platform/automation-portal
    affected: workaround, no fix available
  • Red Hat Cryostat 4 on RHEL 9 cryostat/cryostat-openshift-console-plugin-rhel9 4.2.0-19
    fixed: vendor fix RHSA-2026:95360
  • Red Hat multicluster engine for Kubernetes 2.8 multicluster-engine/console-mce-rhel9 1792886718
    fixed: vendor fix RHSA-2026:92303
  • Red Hat Advanced Cluster Management for Kubernetes 2.13 rhacm2/console-rhel9 1792883111
    fixed: vendor fix RHSA-2026:92307
  • Red Hat OpenShift AI 3.4 rhoai/odh-dashboard-rhel9 1793001801, rhoai/odh-mod-arch-maas-rhel9 1793001859, rhoai/odh-mod-arch-automl-rhel9 1793001841, rhoai/odh-mod-arch-gen-ai-rhel9 1793001896, rhoai/odh-mod-arch-mlflow-rhel9 1793001851, rhoai/odh-mod-arch-autorag-rhel9 1793001850, +2 more
    fixed: vendor fix RHSA-2026:92510
  • Red Hat Cryostat 4 on RHEL 9 cryostat/cryostat-rhel9 4.2.0-18, cryostat/cryostat-db-rhel9 4.2.0-29, cryostat/jfr-datasource-rhel9 4.2.0-19, cryostat/cryostat-reports-rhel9 4.2.0-19, cryostat/cryostat-storage-rhel9 4.2.0-28, cryostat/cryostat-rhel9-operator 4.2.0-29, +3 more Red Hat multicluster engine for Kubernetes 2.8 multicluster-engine/hive-rhel9 1793055767, multicluster-engine/work-rhel9 1792867410, multicluster-engine/discovery-rhel9 1792864323, multicluster-engine/placement-rhel9 1792887454, multicluster-engine/must-gather-rhel9 1792838494, multicluster-engine/registration-rhel9 1792885410, +20 more Red Hat Advanced Cluster Management for Kubernetes 2.13 rhacm2/thanos-rhel9 1792872550, rhacm2/acm-cli-rhel9 1792972427, rhacm2/prometheus-rhel9 1792853139, rhacm2/acm-grafana-rhel9 1792865487, rhacm2/acm-search-v2-rhel9 1792847370, rhacm2/node-exporter-rhel9 1792872412, +37 more Red Hat AMQ Broker 7 amq-broker-bin.zip
    not affected: vulnerable code not present
  • Red Hat build of Apache Camel for Spring Boot 4 rhaf-camel-maven-repository.zip, rhaf-camel-spring-boot-maven-repository.zip, rhaf-camel-for-springboot-maven-repository.zip
    not affected: component not present
  • Red Hat Data Grid 8 redhat-datagrid-maven-repository.zip
    not affected: vulnerable code cannot be controlled by adversary
show 7 more
  • Red Hat Developer Hub 1 rhdh/rhdh-hub-rhel9 Red Hat Enterprise Linux 7 firefox
    not affected: vulnerable code not present
  • Red Hat Enterprise Linux 8 rls, rust, cargo, clippy, dotnet, grafana, +39 more Red Hat Enterprise Linux 9 rust, cargo, goose, clippy, firefox, grafana, +29 more Red Hat Enterprise Linux 10 rust, goose, firefox, grafana, wayland, dotnet8.0, +1 more
    not affected: vulnerable code not in execute path
  • Red Hat Enterprise Linux AI (RHEL AI) 3 rust
    not affected: vulnerable code not present
  • Red Hat Hardened Images rust, yarnpkg, dotnet8.0, grafana12.4, grafana13.1, grafana13.2, +1 more
    not affected: component not present
  • Red Hat OpenShift AI (RHOAI) rhoai/odh-workbench-codeserver-datascience-cpu-py312-rhel9 Red Hat OpenShift AI 3.4 rhoai/odh-cli-rhel9 1792722177, rhoai/rhai-cli-rhel9 1792722177, rhoai/odh-automl-rhel9 1792697253, rhoai/odh-mlflow-rhel9 1793002327, rhoai/odh-autorag-rhel9 1793265800, rhoai/odh-trainer-rhel9 1792817113, +92 more Red Hat OpenShift Dev Spaces devspaces/code-rhel9 Red Hat OpenShift Update Service openshift-update-service/openshift-update-service-rhel8
    not affected: vulnerable code not present
  • Red Hat Quay 3 quay/quay-rhel8
    not affected: vulnerable code not in execute path
  • Red Hat Trusted Profile Analyzer rhtpa/rhtpa-trustification-service-rhel9
    not affected: vulnerable code not present

Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf

CISA SSVC

Exploitation
Proof of concept is public
Automatable
yes
Technical impact
total
Assessed
last mo.

Exploit prediction

0.79% chance of exploitation in the next 30 days, higher than 56% of all scored CVEs (FIRST EPSS, 2026-11-09).

Exploits and checks

  • github.com https://github.com/handlebars-lang/handlebars.js/security/advisories/GHSA-8r5x-fm3f-whwj referenced PoC, tagged "exploit" by a source, unverified

CVSS scores

assigned by version score vector
CNA 3.1 9.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
GitHub 3.1 9.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Affected packages

ecosystem package affected fixed in
npm handlebars
>=4.0.0, <4.7.10
4.7.10

Affected products

  • handlebars-lang handlebars.js

Classification

Weakness
  • CWE-94 Improper Control of Generation of Code
  • CWE-843 Access of Resource Using Incompatible Type

References

Sources

Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.

CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.