HighGHSA-3cqr-58rm-57f8CVE-2019-20920SNYK-JS-HANDLEBARS-534478
Arbitrary Code Execution in Handlebars
Published 10 Feb 2022 · Updated 10 Sept 2026
Affected packages
handlebarsnpm
- Affected
- <3.0.8
- Fixed in
- 3.0.8
Update to the fixed version for your release line, for example:
npm install handlebars@3.0.8handlebarsnpm
- Affected
- >=4.0.0 <4.5.3
- Fixed in
- 4.5.3
Update to the fixed version for your release line, for example:
npm install handlebars@4.5.3Details
Handlebars before 3.0.8 and 4.x before 4.5.3 is vulnerable to Arbitrary Code Execution. The lookup helper fails to properly validate templates, allowing attackers to submit templates that execute arbitrary JavaScript. This can be used to run arbitrary code on a server processing Handlebars templates or in a victim's browser (effectively serving as XSS).
Is GHSA-3cqr-58rm-57f8 in any of your client repos?
Checking one package by hand is fine. Checking it across forty client projects is not. NPMscan reads the lockfiles in every GitHub repo you pick, finds each project with an affected handlebars, and gives you the command that fixes it.
References
- Advisorynvd.nist.gov/vuln/detail/CVE-2019-20920
- Linkgithub.com/handlebars-lang/handlebars.js/commit/156061eb7707575293613d7fdf90e2bdaac029ee
- Linkgithub.com/handlebars-lang/handlebars.js/commit/d54137810a49939fd2ad01a91a34e182ece4528e
- Linksnyk.io/vuln/SNYK-JS-HANDLEBARS-534478
- Linkwww.npmjs.com/advisories/1316
- Linkwww.npmjs.com/advisories/1324
- Linkwww.npmjs.com/package/handlebars
Advisory data from OSV.dev (opens OSV.dev in a new tab), refreshed daily.