Description
docsify prior to 4.11.4 is susceptible to Cross-site Scripting (XSS). Docsify.js uses fragment identifiers (parameters after # sign) to load resources from server-side .md files. Due to lack of validation here, it is possible to provide external URLs after the /#/ (domain.com/#//attacker.com) and render arbitrary JavaScript/HTML inside docsify page.
Remediation
References
https://github.com/docsifyjs/docsify/pull/1128
https://snyk.io/vuln/SNYK-JS-DOCSIFY-567099
https://github.com/docsifyjs/docsify/issues/1126
http://packetstormsecurity.com/files/158515/Docsify.js-4.11.4-Cross-Site-Scripting.html
http://seclists.org/fulldisclosure/2021/Feb/71
http://packetstormsecurity.com/files/161495/docsify-4.11.6-Cross-Site-Scripting.html
Related Vulnerabilities
CVE-2018-14041 Vulnerability in npm package bootstrap
CVE-2020-28503 Vulnerability in npm package copy-props
CVE-2022-25923 Vulnerability in npm package exec-local-bin
CVE-2023-40814 Vulnerability in maven package org.opencrx:opencrx-core-models
CVE-2019-10768 Vulnerability in maven package org.webjars.bowergithub.angular:angular