{"api_version":"1","generated_at":"2026-04-23T02:36:05+00:00","cve":"CVE-2019-20922","urls":{"html":"https://cve.report/CVE-2019-20922","api":"https://cve.report/api/cve/CVE-2019-20922.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2019-20922","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2019-20922"},"summary":{"title":"CVE-2019-20922","description":"Handlebars before 4.4.5 allows Regular Expression Denial of Service (ReDoS) because of eager matching. The parser may be forced into an endless loop while processing crafted templates. This may allow attackers to exhaust system resources.","state":"PUBLIC","assigner":"cve@mitre.org","published_at":"2020-09-30 18:15:00","updated_at":"2021-07-21 11:39:00"},"problem_types":["CWE-400"],"metrics":[],"references":[{"url":"https://github.com/handlebars-lang/handlebars.js/commit/8d5530ee2c3ea9f0aee3fde310b9f36887d00b8b","name":"https://github.com/handlebars-lang/handlebars.js/commit/8d5530ee2c3ea9f0aee3fde310b9f36887d00b8b","refsource":"MISC","tags":["Patch","Third Party Advisory"],"title":"fix: non-eager matching raw-block-contents · handlebars-lang/handlebars.js@8d5530e · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"0"},{"url":"https://snyk.io/vuln/SNYK-JS-HANDLEBARS-480388","name":"https://snyk.io/vuln/SNYK-JS-HANDLEBARS-480388","refsource":"MISC","tags":["Third Party Advisory"],"title":"Denial of Service (DoS) in handlebars | Snyk","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://www.npmjs.com/advisories/1300","name":"https://www.npmjs.com/advisories/1300","refsource":"MISC","tags":["Third Party Advisory"],"title":"Overview","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://www.cve.org/CVERecord?id=CVE-2019-20922","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2019-20922","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[{"cve_year":"2019","cve_id":"20922","vulnerable":"1","versionEndIncluding":"","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"handlebarsjs","cpe5":"handlebars","cpe6":"*","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"node.js","cpe12":"*","cpe13":"*"},{"cve_year":"2019","cve_id":"20922","vulnerable":"1","versionEndIncluding":"1","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"handlebarsjs","cpe5":"handlebars","cpe6":"*","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"node.js","cpe12":"*","cpe13":"*"}],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"CVE_data_meta":{"ASSIGNER":"cve@mitre.org","ID":"CVE-2019-20922","STATE":"PUBLIC"},"affects":{"vendor":{"vendor_data":[{"product":{"product_data":[{"product_name":"n/a","version":{"version_data":[{"version_value":"n/a"}]}}]},"vendor_name":"n/a"}]}},"data_format":"MITRE","data_type":"CVE","data_version":"4.0","description":{"description_data":[{"lang":"eng","value":"Handlebars before 4.4.5 allows Regular Expression Denial of Service (ReDoS) because of eager matching. The parser may be forced into an endless loop while processing crafted templates. This may allow attackers to exhaust system resources."}]},"problemtype":{"problemtype_data":[{"description":[{"lang":"eng","value":"n/a"}]}]},"references":{"reference_data":[{"url":"https://www.npmjs.com/advisories/1300","refsource":"MISC","name":"https://www.npmjs.com/advisories/1300"},{"url":"https://snyk.io/vuln/SNYK-JS-HANDLEBARS-480388","refsource":"MISC","name":"https://snyk.io/vuln/SNYK-JS-HANDLEBARS-480388"},{"url":"https://github.com/handlebars-lang/handlebars.js/commit/8d5530ee2c3ea9f0aee3fde310b9f36887d00b8b","refsource":"MISC","name":"https://github.com/handlebars-lang/handlebars.js/commit/8d5530ee2c3ea9f0aee3fde310b9f36887d00b8b"}]}},"nvd":{"publishedDate":"2020-09-30 18:15:00","lastModifiedDate":"2021-07-21 11:39:00","problem_types":["CWE-400"],"metrics":{"baseMetricV3":{"cvssV3":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"NONE","integrityImpact":"NONE","availabilityImpact":"HIGH","baseScore":7.5,"baseSeverity":"HIGH"},"exploitabilityScore":3.9,"impactScore":3.6},"baseMetricV2":{"cvssV2":{"version":"2.0","vectorString":"AV:N/AC:L/Au:N/C:N/I:N/A:C","accessVector":"NETWORK","accessComplexity":"LOW","authentication":"NONE","confidentialityImpact":"NONE","integrityImpact":"NONE","availabilityImpact":"COMPLETE","baseScore":7.8},"severity":"HIGH","exploitabilityScore":10,"impactScore":6.9,"acInsufInfo":false,"obtainAllPrivilege":false,"obtainUserPrivilege":false,"obtainOtherPrivilege":false,"userInteractionRequired":false}},"configurations":{"CVE_data_version":"4.0","nodes":[{"operator":"OR","children":[],"cpe_match":[{"vulnerable":true,"cpe23Uri":"cpe:2.3:a:handlebarsjs:handlebars:*:*:*:*:*:node.js:*:*","versionStartIncluding":"4.0.0","versionEndExcluding":"4.4.5","cpe_name":[]}]}]}},"legacy_mitre":{"record":{"CveYear":"2019","CveId":"20922","Ordinal":"187580","Title":"CVE-2019-20922","CVE":"CVE-2019-20922","Year":"2019"},"notes":[{"CveYear":"2019","CveId":"20922","Ordinal":"1","NoteData":"Handlebars before 4.4.5 allows Regular Expression Denial of Service (ReDoS) because of eager matching. The parser may be forced into an endless loop while processing crafted templates. This may allow attackers to exhaust system resources.","Type":"Description","Title":null},{"CveYear":"2019","CveId":"20922","Ordinal":"2","NoteData":"2020-09-30","Type":"Other","Title":"Published"},{"CveYear":"2019","CveId":"20922","Ordinal":"3","NoteData":"2020-09-30","Type":"Other","Title":"Modified"}]}}}