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.
The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.
Link | Tags |
---|---|
https://github.com/docsifyjs/docsify/issues/1126 | third party advisory |
https://github.com/docsifyjs/docsify/pull/1128 | third party advisory patch |
https://snyk.io/vuln/SNYK-JS-DOCSIFY-567099 | third party advisory |
http://packetstormsecurity.com/files/158515/Docsify.js-4.11.4-Cross-Site-Scripting.html | exploit vdb entry third party advisory |
http://seclists.org/fulldisclosure/2021/Feb/71 | third party advisory mailing list |
http://packetstormsecurity.com/files/161495/docsify-4.11.6-Cross-Site-Scripting.html | third party advisory exploit |