CVE-2020-7680: docsify Cross-site Scripting in fragment identifier handling

CVE-2020-7680 · Severity: low · CVSS 3.1 · Published 2021-05-18

docsify is a popular open-source documentation site generator used to create and host technical documentation with minimal setup. A cross-site scripting vulnerability in its fragment identifier (URL hash) processing allows attackers to inject arbitrary JavaScript code into documentation pages viewed by users, potentially enabling session hijacking, credential theft, or defacement of the documentation site.

Technologies: docsify (npm). Vendors: npm.

Quick answers

Is CVE-2020-7680 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2020-7680 being exploited in the wild.
How severe is CVE-2020-7680?
Low severity, with a CVSS score of 3.1, published 18 May 2021.
Which products and versions are affected?
docsify (npm) SEMVER:introduced=0,fixed=4.11.4.
Is there a fix for CVE-2020-7680?
Yes. docsify (npm): upgrade to 4.11.4 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2020-7680 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2020-7680?
Check whether you run docsify (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • docsify (npm): upgrade to 4.11.4 or later
    npm install docsify@4.11.4

Technical details

docsify prior to version 4.11.4 is vulnerable to reflected cross-site scripting (CWE-79) in its fragment identifier handling. The application uses URL fragments (parameters after the # sign) to dynamically load markdown resources from the server but fails to properly validate external URLs passed in these parameters. An attacker can craft a malicious URL (e.g., domain.com/#//attacker.com) that causes docsify to load and execute arbitrary JavaScript or render attacker-controlled HTML content within the context of the documentation page. The vulnerability requires user interaction (clicking a malicious link) and is network-accessible without authentication. The issue was fixed in version 4.11.4.

Affected products

  • docsify docsify before 4.11.4

Identifiers

  • CVE-2020-7680
  • GHSA-qpqh-46qj-vwcw

Timeline

  • 2020-07-20: disclosed
  • 2020: patched: Version 4.11.4 released with fix

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.