Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
Versions of the Npm package dash-core-components prior to 2.13.0; all versions of the Python package dash-core-components; versions of the python package dash prior to 2.15.0; all versions of the python package dash-html-components; versions of the Npm package dash-html-components prior to 2.0.16 are vulnerable to Cross-site Scripting (XSS) when the "href" of the a tag is controlled by an adversary. An authenticated attacker who stores a view that exploits this vulnerability could steal the data that's visible to another user who opens that view - not just the data already included on the page, but they could also, in theory, make additional requests and access other data accessible to this user. In some cases, they could also steal the access tokens of that user, which would allow the attacker to act as that user, including viewing other apps and resources hosted on the same server. **Note:** This is only exploitable in Dash apps that include some mechanism to store user input to be reloaded by a different user.
CWE-79 - Cross Site Scripting
Cross-Site Scripting, commonly referred to as XSS, is the most dominant class of vulnerabilities. It allows an attacker to inject malicious code into a pregnable web application and victimize its users. The exploitation of such a weakness can cause severe issues such as account takeover, and sensitive data exfiltration. Because of the prevalence of XSS vulnerabilities and their high rate of exploitation, it has remained in the OWASP top 10 vulnerabilities for years.