Skip to content

Cross-Site Scripting in handlebars

Moderate severity GitHub Reviewed Published Oct 23, 2018 to the GitHub Advisory Database • Updated Jan 9, 2023

Package

npm handlebars (npm)

Affected versions

< 4.0.0

Patched versions

4.0.0

Description

Versions of handlebars prior to 4.0.0 are affected by a cross-site scripting vulnerability when attributes in handlebar templates are not quoted.

Proof of Concept

Template:
<a href={{foo}}/>

Input:
{ 'foo' : 'test.com onload=alert(1)'}

Rendered result:
<a href=test.com onload=alert(1)/>

Recommendation

Update to version 4.0.0 or later.
Alternatively, ensure that all attributes in handlebars templates are encapsulated with quotes.

References

Published to the GitHub Advisory Database Oct 23, 2018
Reviewed Jun 16, 2020
Last updated Jan 9, 2023

Severity

Moderate
6.1
/ 10

CVSS base metrics

Attack vector
Network
Attack complexity
Low
Privileges required
None
User interaction
Required
Scope
Changed
Confidentiality
Low
Integrity
Low
Availability
None
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N

Weaknesses

CVE ID

CVE-2015-8861

GHSA ID

GHSA-9prh-257w-9277

Source code

Checking history
See something to contribute? Suggest improvements for this vulnerability.