{"id":"GHSA-fj93-7wm4-8x2g","aliases":["CLSA-2026-1788807441"],"status":"published","title":"Cross-Site Scripting in jquery-mobile","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\":\"\u003ciframe/src='javascript:alert(1)'\u003e\u003c/iframe\u003e\",\"results\":[]}` would be parsed as HTML and the JavaScript payload executed.\n\n\n## Recommendation\n\nNo fix is currently available. Consider using an alternative package until a fix is made available.","facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-79"],"published":"2020-09-02T21:22:47Z","modified":"2026-10-15T09:48:03Z","fixes":[{"ecosystem":"TuxCare:npm","package":"jquery-mobile","fixed_in":["1.4.5-tuxcare.1"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"npm","package":"jquery-mobile","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}]},{"source":"osv","ecosystem":"TuxCare:npm","package":"jquery-mobile","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.4.5-tuxcare.0"},{"fixed":"1.4.5-tuxcare.1"}]}],"versions":["1.4.5"]},{"source":"osv","ecosystem":"npm","package":"jquery-mobile","ranges":[{"type":"SEMVER","events":[{"introduced":"0"}]}]}],"references":[{"url":"https://gist.github.com/jupenur/e5d0c6f9b58aa81860bf74e010cf1685","tags":["web"]},{"url":"https://snyk.io/vuln/SNYK-JS-JQUERYMOBILE-174599","tags":["web"]},{"url":"https://www.npmjs.com/advisories/883","tags":["web"]},{"url":"https://github.com/jquery/jquery-mobile/issues/8640","tags":["web"]},{"url":"https://github.com/jquery/jquery-mobile/pull/8649","tags":["web"]},{"url":"https://github.com/jquery/jquery-mobile/pull/8650","tags":["web"]},{"url":"https://github.com/jquery/jquery-mobile/commit/b0d9cc758a48f13321750d7409fb7655dcdf2b50","tags":["web"]},{"url":"https://github.com/advisories/GHSA-fj93-7wm4-8x2g"},{"url":"https://github.com/jquery/jquery-mobile","tags":["web"]}],"sources":{"ghsa":[{"id":"GHSA-fj93-7wm4-8x2g","title":"Cross-Site Scripting in jquery-mobile","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\":\"\u003ciframe/src='javascript:alert(1)'\u003e\u003c/iframe\u003e\",\"results\":[]}` would be parsed as HTML and the JavaScript payload executed.\n\n\n## Recommendation\n\nNo fix is currently available. Consider using an alternative package until a fix is made available.","status":"published","published":"2020-09-02T21:22:47Z","modified":"2023-01-09T05:04:05Z","cwes":["CWE-79"],"updated_at":"2026-11-02T14:36:08.267721Z"}],"osv":[{"id":"CLSA-2026-1788807441","title":"TuxCare security update for jquery-mobile (1 CVE)","description":"TuxCare rebuilt jquery-mobile to address 1 CVE. Fixed in 1.4.5-tuxcare.1.","status":"published","published":"2026-09-07T18:57:21Z","modified":"2026-10-15T09:48:03.106245772Z","updated_at":"2026-11-02T15:43:47.938828Z"},{"id":"GHSA-fj93-7wm4-8x2g","title":"Cross-Site Scripting in jquery-mobile","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\":\"\u003ciframe/src='javascript:alert(1)'\u003e\u003c/iframe\u003e\",\"results\":[]}` would be parsed as HTML and the JavaScript payload executed.\n\n\n## Recommendation\n\nNo fix is currently available. Consider using an alternative package until a fix is made available.","status":"published","published":"2020-09-02T21:22:47Z","modified":"2021-09-27T21:03:58Z","cwes":["CWE-79"],"updated_at":"2026-11-02T15:46:46.39441Z"}]}}
