
CVE catalog
CVE-2026-33940
Handlebars provides the power necessary to let users build semantic templates. In versions 4.0.0 through 4.7.8, a crafted object placed in the template context can bypass all conditional guards in `re
- Severity
- High · CVSS 8.1
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - Published
- Source
- [NVD] · [CVE record]
- EPSS
- 0.71% · Oct 25, 2026
Handlebars provides the power necessary to let users build semantic templates. In versions 4.0.0 through 4.7.8, a crafted object placed in the template context can bypass all conditional guards in `resolvePartial()` and cause `invokePartial()` to return `undefined`. The Handlebars runtime then treats the unresolved partial as a source that needs to be compiled, passing the crafted object to `env.compile()`. Because the object is a valid Handlebars AST containing injected code, the generated JavaScript executes arbitrary commands on the server. The attack requires the adversary to control a value that can be returned by a dynamic partial lookup. Version 4.7.9 fixes the issue. Some workarounds are available. First, use the runtime-only build (`require('handlebars/runtime')`). Without `compile()`, the fallback compilation path in `invokePartial` is unreachable. Second, sanitize context data before rendering: Ensure no value in the context is a non-primitive object that could be passed to a dynamic partial. Third, avoid dynamic partial lookups (`{{> (lookup ...)}}`) when context data is user-controlled.
Vulnerable and fixed packages
Distribution-reported package versions and fixes. These do not depend on matching against the OpenFactory package catalog.
| Distribution | Package | Release | Version | Status |
|---|---|---|---|---|
| Debian | node-handlebars | sid | 3:4.7.10-1 | fixed |
| Debian | node-handlebars | forky | 3:4.7.10-1 | fixed |
| Debian | node-handlebars | trixie | 3:4.7.7+~4.1.0-1 | vulnerable |
| Debian | node-handlebars | bookworm | 3:4.7.7+~4.1.0-1 | vulnerable |
| Cpe | node-handlebars | Not reported | Not reported | vulnerable |
| Cpe | handlebars | Not reported | 4.7.9 | fixed |
| Cpe | handlebars | Not reported | 4.7.9 | fixed |
Fixed-version evidence
| Distribution | Package | Type | Release | Fixed version | Urgency | Origin | Bugs |
|---|---|---|---|---|---|---|---|
| Debian | node-handlebars | source | sid | 3:4.7.9-1 | not yet assigned | Not reported | [1132141] |
| Debian | node-handlebars | source | forky | 3:4.7.9-1 | not yet assigned | Not reported | [1132141] |
| Debian | node-handlebars | source | trixie | (unfixed) | not yet assigned | Not reported | [1132141] |
| Debian | node-handlebars | source | bookworm | (unfixed) | not yet assigned | Not reported | [1132141] |
| Cpe | handlebars | cpe | Not reported | 4.7.9 | Not reported | Not reported | Not reported |
| Cpe | handlebars | cpe | Not reported | 4.7.9 | Not reported | NVD-CVE-2026-33940 | Not reported |
Notes
[trixie] node-handlebars: Minor issue [bookworm] node-handlebars: Minor issue
OpenFactory catalog packages
[Debian 12 (Bookworm)]
- [handlebars]Affected
Source package: [node-handlebars]
Details (2)
3:4.7.7+~4.1.0-1· all · bookwormAffected
nvd · node-handlebars · debian · bookworm; nvd · node-handlebars · debian · 12
3:4.7.7+~4.1.0-1· all · bookwormAffected
nvd · node-handlebars · debian · bookworm; nvd · node-handlebars · debian · 12
- [libjs-handlebars]Affected
Source package: [node-handlebars]
Details (2)
3:4.7.7+~4.1.0-1· all · bookwormAffected
nvd · node-handlebars · debian · bookworm; nvd · node-handlebars · debian · 12
3:4.7.7+~4.1.0-1· all · bookwormAffected
nvd · node-handlebars · debian · bookworm; nvd · node-handlebars · debian · 12
- [libjs-handlebars.runtime]Affected
Source package: [node-handlebars]
Details (2)
3:4.7.7+~4.1.0-1· all · bookwormAffected
nvd · node-handlebars · debian · bookworm; nvd · node-handlebars · debian · 12
3:4.7.7+~4.1.0-1· all · bookwormAffected
nvd · node-handlebars · debian · bookworm; nvd · node-handlebars · debian · 12
[Debian 13 (Trixie)]
- [handlebars]Affected
Source package: [node-handlebars]
Details (2)
3:4.7.7+~4.1.0-1· all · trixieAffected
nvd · node-handlebars · debian · 13
3:4.7.7+~4.1.0-1· all · trixieAffected
nvd · node-handlebars · debian · 13
- [libjs-handlebars]Affected
Source package: [node-handlebars]
Details (2)
3:4.7.7+~4.1.0-1· all · trixieAffected
nvd · node-handlebars · debian · 13
3:4.7.7+~4.1.0-1· all · trixieAffected
nvd · node-handlebars · debian · 13
- [libjs-handlebars.runtime]Affected
Source package: [node-handlebars]
Details (2)
3:4.7.7+~4.1.0-1· all · trixieAffected
nvd · node-handlebars · debian · 13
3:4.7.7+~4.1.0-1· all · trixieAffected
nvd · node-handlebars · debian · 13
Observed:
References
- [https://access.redhat.com/errata/RHSA-2026:10175]
- [https://access.redhat.com/errata/RHSA-2026:34342]
- [https://access.redhat.com/security/cve/CVE-2026-33940]
- [https://bugzilla.redhat.com/show_bug.cgi?id=2452521]
- [https://github.com/handlebars-lang/handlebars.js/commit/68d8df5a88e0a26fe9e6084c5c6aaebe67b07da2]
- [https://github.com/handlebars-lang/handlebars.js/releases/tag/v4.7.9]
- [https://github.com/handlebars-lang/handlebars.js/security/advisories/GHSA-xhpv-hc6g-r9c6]
- [https://nvd.nist.gov/vuln/detail/CVE-2026-33940]
- [https://osv.dev/vulnerability/DEBIAN-CVE-2026-33940]
- [https://security-tracker.debian.org/tracker/CVE-2026-33940]
- [https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-33940.json]
- [https://wid.cert-bund.de/.well-known/csaf/white/2026/wid-sec-w-2026-3655.json]
[CERT-Bund public advisories] · [Debian Security Tracker] · [FIRST EPSS] · [National Vulnerability Database (NVD)] · [OSV Package Vulnerability Database] · [Red Hat security advisories and VEX]