CVE-2017-16022 Cross-Site Scripting in morris.js
Attackers can inject malicious scripts into Morris.js graph labels, leading to client-side code execution when the graph is viewed.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- None listed
What is CVE-2017-16022?
CVE-2017-16022 is a medium-severity cross-site scripting vulnerability in HackerOne Morris.js node module, published on 4 Jun 2018. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.
Official description
Morris.js creates an svg graph, with labels that appear when hovering over a point. The hovering label names are not escaped in versions 0.5.0 and earlier. If control over the labels is obtained, script can be injected. The script will run on the client side whenever that specific graph is loaded.
Weakness: CWE-79
Which versions are affected by CVE-2017-16022?
2 open source packages ship an affected version, including morris.js. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
morris.js npm | All versions | None |
morris.js npm | All versions | None |
Products include Morris.js Project Morris.js.
How do I fix CVE-2017-16022?
No fix has been published for CVE-2017-16022 yet. Limit exposure of the affected software until one is available.
Escape output for the context it lands in and set a strict Content Security Policy. Upgrading the affected component is the real fix. More about Cross-site scripting.
Is CVE-2017-16022 being exploited?
There is no known exploitation of CVE-2017-16022 in the wild and no public exploit code.
Sources
Also known as GHSA-fwx5-5fqj-jv98.