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