Content Injection due to quoteless attributes Affecting mustache package, versions <2.2.1



    Attack Complexity Low
Expand this section
6.1 medium

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk ID npm:mustache:20151207
  • published 14 Dec 2015
  • disclosed 7 Dec 2015
  • credit Matias P. Brutti


When using attributes without quotes in a mustache template, an attacker can manipulate the input to introduce additional attributes, potentially executing code. This may lead to a Cross-site Scripting (XSS) vulnerability, assuming an attacker can influence the value entered into the template. If the mustache template is used to render user-generated content, this vulnerability may escalate to a persistent XSS vulnerability.


For example, assume mustache was used to display user comments, using the following template: <a href={{email}}>{{name}}</a><pre>{{comment}}</pre>

If an attacker spoofed his email address and provided the following value: onload=alert(document.cookie)

The resulting HTML would be: <a onload=alert(document.cookie)>Evil Wizard</a><pre>Busted!</pre>