CVE-2026-106445: Handlebars: JavaScript Injection via Own Property Check Bypass
(updated )
Handlebars can expose the Function constructor despite its prototype-access deny list. When a template reaches Function.prototype, its own constructor property is returned before the deny list is checked. An attacker who can render a controlled template with allowProtoMethodsByDefault: true can inject and execute arbitrary JavaScript, leading to Remote Code Execution on the server.
References
- github.com/advisories/GHSA-p8wg-vrv2-v86f
- github.com/handlebars-lang/handlebars.js/commit/ceec388abe1d1aac8f6369860d5f390fa71ef4fa
- github.com/handlebars-lang/handlebars.js/pull/2185
- github.com/handlebars-lang/handlebars.js/releases/tag/v4.7.10
- github.com/handlebars-lang/handlebars.js/security/advisories/GHSA-p8wg-vrv2-v86f
- nvd.nist.gov/vuln/detail/CVE-2026-106445
Code Behaviors & Features
Detect and mitigate CVE-2026-106445 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →