Vulnerability · Published Dec 28, 2020 · Assigned by GitHub_M
CVE-2020-26287Stored XSS in mermaid diagrams
High 8.7
In plain English
A high-severity cross-site scripting in hedgedoc from hedgedoc. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 1.5% (higher than 74% of all known vulnerabilities).
Official description
HedgeDoc is a collaborative platform for writing and sharing markdown. In HedgeDoc before version 1.7.1 an attacker can inject arbitrary `script` tags in HedgeDoc notes using mermaid diagrams. Our content security policy prevents loading scripts from most locations, but `www.google-analytics.com` is allowed. Using Google Tag Manger it is possible to inject arbitrary JavaScript and execute it on page load. Depending on the configuration of the instance, the attacker may not need authentication to create or edit notes. The problem is patched in HedgeDoc 1.7.1. As a workaround one can disallow `www.google-analytics.com` in the `Content-Security-Policy` header. Note that other ways to leverage the `script` tag injection might exist.
Affected products (as reported)
Weakness: CWE-79 · Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N
References
- https://github.com/hedgedoc/hedgedoc/releases/tag/1.7.1 x_refsource_MISC
- https://github.com/hedgedoc/hedgedoc/security/advisories/GHSA-g6w6-7xf9-m95p x_refsource_CONFIRM
- https://github.com/hackmdio/codimd/issues/1630 x_refsource_MISC
- https://github.com/Alemmi/ctf-writeups/blob/main/hxpctf-2020/hackme/solution.md x_refsource_MISC
- https://github.com/hedgedoc/hedgedoc/commit/58276ebbf4504a682454a3686dcaff88bc1069d4 x_refsource_MISC