Bug 2547112 (CVE-2026-106445)

Summary: CVE-2026-106445 handlebars: Handlebars: JavaScript Injection via Own Property Check Bypass
Product: [Other] Security Response Reporter: OSIDB Bzimport <bzimport>
Component: vulnerabilityAssignee: Product Security DevOps Team <prodsec-dev>
Status: NEW --- QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: unspecifiedCC: aazores, abarbaro, abrianik, abuckta, alizardo, ataylor, bbrownin, cmah, csuconic, dbosanac, dbruscin, dkuc, doconnor, dschmidt, eaguilar, ebaron, ehugonne, fmariani, gbenhaim, ggrzybek, gmalinko, gotiwari, gparvin, gtully, ikhan, janstey, jbalunas, jchui, jhe, jhorak, jlanda, jmatsuok, jraez, jreimann, jsherman, jtolenti, jwon, kshier, ktsao, kvanderr, lchilton, mcarlett, mdessi, mrizzi, mvyas, nboldt, niyer, oaljalju, orabin, parichar, pcattana, pjindal, psrna, rbobbitt, rgemmell, rgodfrey, rhaigner, rhel-process-autobot, rstepani, sdawley, sfeifer, simaishi, stcannon, tasato, tbish, tcunning, tlavocat, tsze, twaugh, watson-tool-maintainers, yfang, yguenane
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
A flaw was found in Handlebars. The lookupProperty own-property check returns Function.prototype.constructor before the prototype-method deny list is applied. When an attacker can render a controlled template with allowProtoMethodsByDefault enabled and an accessible function in the template context, arbitrary JavaScript can execute with the application process privileges.
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2548542, 2548545, 2548546, 2548548, 2548552, 2548543, 2548544, 2548547, 2548550, 2548554    
Bug Blocks:    

Description OSIDB Bzimport 2026-10-06 19:54:03 UTC
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.