jquery/jquery-mobile · Security
Cross-Site Scripting in jquery-mobile
- GHSA ID
- GHSA-fj93-7wm4-8x2g
- Severity
- high
- Published
- Updated
Description
All version of jquery-mobile are vulnerable to Cross-Site Scripting. The package checks for content in location.hash and if a URL is found it does an XmlHttpRequest (XHR) to the URL and renders the response with innerHTML. It fails to validate the Content-Type of the response, allowing attackers to include malicious payloads as part of query parameters that are reflected back to the user. A response such as {"q":"<iframe/src='javascript:alert(1)'></iframe>","results":[]} would be parsed as HTML and the JavaScript payload executed.
Recommendation
No fix is currently available. Consider using an alternative package until a fix is made available.
CWEs
- CWE-79 · Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
References
- https://gist.github.com/jupenur/e5d0c6f9b58aa81860bf74e010cf1685 ↗
- https://snyk.io/vuln/SNYK-JS-JQUERYMOBILE-174599 ↗
- https://www.npmjs.com/advisories/883 ↗
- https://github.com/jquery/jquery-mobile/issues/8640 ↗
- https://github.com/jquery/jquery-mobile/pull/8649 ↗
- https://github.com/jquery/jquery-mobile/pull/8650 ↗
- https://github.com/jquery/jquery-mobile/commit/b0d9cc758a48f13321750d7409fb7655dcdf2b50 ↗
- https://github.com/advisories/GHSA-fj93-7wm4-8x2g ↗