In general, Ember.js escapes or strips any user-supplied content before inserting it in strings that will be sent to innerHTML. However, the tagName
property of an Ember.View
was inserted into such a string without being sanitized. This means that if an application assigns a view’s tagName
to user-supplied data, a specially-crafted payload could execute arbitrary JavaScript in the context of the current domain (“XSS”). This vulnerability only affects applications that assign or bind user-provided content to tagName
.
References
- https://nvd.nist.gov/vuln/detail/CVE-2013-4170
- https://groups.google.com/g/ember-security/c/dokLVwwxAdM
- https://rubysec.com/advisories/CVE-2013-4170/
- https://security.snyk.io/vuln/SNYK-RUBY-EMBERSOURCE-20102
- https://github.com/rubysec/ruby-advisory-db/blob/master/gems/ember-source/CVE-2013-4170.yml
- https://groups.google.com/forum/#!topic/ember-security/dokLVwwxAdM
- https://github.com/advisories/GHSA-5m48-c37x-f792