Quoteless Attributes in Templates can lead to Content Injection

Module: mustache

Published: December 14th, 2015

Reported by: Matias P. Brutti

CVE-2015-8862

CWE-79

Vulnerable: <2.2.1
Patched: >=2.2.1

Overview

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

Example

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

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

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

Remediation

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

References

Commit #378bcca