Description
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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| handlebars-lang | handlebars.js | >= 3.0.0, < 4.7.10 | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | node-handlebars | 3:4.7.10-1 | — |
| Debian 13 | node-handlebars | No fix yet | — |
| Debian 12 | node-handlebars | No fix yet | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 26.10 | node-handlebars | No fix yet | — |
| Ubuntu 26.04 LTS | node-handlebars | No fix yet | — |
| Ubuntu 24.04 LTS | node-handlebars | No fix yet | — |
| Ubuntu 22.04 LTS | node-handlebars | No fix yet | — |
| Ubuntu 20.04 LTS | node-handlebars | No fix yet | — |
Show 1 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 18.04 LTS | node-handlebars | No fix yet | — |
Wolfi
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Wolfi rolling | lerna | 10.0.1-r10 | — |
| Wolfi rolling | nextcloud-server-33 | 33.0.9-r7 | — |
| Wolfi rolling | opensearch-dashboards-3 | 3.8.0-r13 | — |
| Wolfi rolling | prism | 5.16.0-r16 | — |
| Wolfi rolling | rancher-api-ui | 1.2.3-r15 | — |
| Wolfi rolling | renovate | 44.133.0-r5 | — |
| Wolfi rolling | tileserver-gl | 5.6.0-r20 | — |
| Wolfi rolling | ts-patch | 4.0.1-r48 | — |
Public exploits
Exploit or proof-of-concept code for this vulnerability is publicly available, which lowers the bar for attackers. Treat it as a reason to patch sooner.
GitHub 1 repository
-
murrez/CVE-2026-106445 ★ 2 · Oct 10, 2026
CVE-2026-106445 — Handlebars 4.0.0–4.7.9 RCE via Function.prototype.constructor bypass (GHSA-p8wg-vrv2-v86f). PoCbit PoC + Docker lab (4.7.9), check/exploit HTTP client, GHSA template chain. Fixed 4.…
Sources: PoC-in-GitHub, Metasploit Framework, Exploit-DB — updated daily. Only links are listed; no exploit code is hosted here.
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| npm | handlebars | >= 3.0.0, < 4.7.10 | 4.7.10 | GHSA-p8wg-vrv2-v86f |
Advisories 1
- WID-SEC-2026-4410 IBM App Connect Enterprise: Mehrere Schwachstellen BSI CERT-Bund (WID) · Nov 12, 2026
References
- https://github.com/handlebars-lang/handlebars.js/security/advisories/GHSA-p8wg-vrv2-v86f
- https://github.com/handlebars-lang/handlebars.js/pull/2185
- https://github.com/handlebars-lang/handlebars.js/commit/ceec388abe1d1aac8f6369860d5f390fa71ef4fa
- https://github.com/handlebars-lang/handlebars.js/releases/tag/v4.7.10