CVE Catalog

CVE-2026-106445

CriticalCVSS 9.2
Published: Translated: NVD NIST

Summary

In Handlebars from 4.0.0 to 4.7.10, lookupProperty returns Function.prototype.constructor before applying the prototype-access deny list. When an attacker can render a controlled template with allowProtoMethodsByDefault enabled and an accessible function in the template context, they can obtain the Function constructor and execute arbitrary JavaScript with the server application's privileges. Fixed in 4.7.10.

Risk Assessment

Risk of arbitrary JavaScript execution with server application privileges, potentially leading to application and data compromise.

Recommendation

Update Handlebars to 4.7.10 or later and disable allowProtoMethodsByDefault if not required.

Other vulnerabilities in Handlebars

See all
Original NVD description (English source)

Handlebars provides the power necessary to let users build semantic templates. From 4.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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS