Security readout for executives and security teams
Plain-English summary
CVE-2017-16022 is a client-side cross-site scripting issue in Morris.js charts. In versions 0.5.0 and earlier, hover label names were not escaped, so attacker-controlled label text could run script when a affected graph loads in a user’s browser.
Executive priority
Treat as a moderate web application risk. Prioritize internet-facing dashboards or customer portals where chart labels can reflect user-supplied data.
Technical view
The issue is CWE-79 in the Morris.js node module. SVG graph hover labels in versions <=0.5.0 fail to escape label names. If an application passes attacker-controlled data into those labels, script may execute client-side when the chart is rendered.
Likely exposure
Exposure is likely limited to applications using Morris.js <=0.5.0 and rendering charts whose hover label names include user-controlled or externally sourced data.
Exploitation context
The provided sources do not show KEV listing or active exploitation. Exploitation requires control over chart label names and a victim loading the affected graph.
Researcher notes
Evidence is concise: the CVE description names unescaped hover label names and client-side script execution. No CVSS score, KEV entry, exploit status, or specific patched release is provided in the bundle.
Mitigation direction
- Inventory applications for Morris.js versions <=0.5.0.
- Review the Morris.js advisory and pull request for vendor fix guidance.
- Upgrade or replace affected Morris.js builds where possible.
- Escape or sanitize untrusted chart label values before rendering.
- Avoid feeding user-controlled data into hover label names.
Validation and detection
- Check package manifests and lockfiles for Morris.js <=0.5.0.
- Identify charts using hover labels from external or user-controlled data.
- Verify labels render special characters as text, not active markup.
- Review deployed bundles for legacy Morris.js copies.
- Confirm remediation in both source dependencies and built assets.
Public sources used
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
CWE-79: User-session and phishing behavior lookup
Client-side and session-facing weaknesses should be reviewed alongside initial-access and user-execution behaviors. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
Open ATT&CK lookupCVE-2017-16022 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
Open ATT&CK lookup- Severity
- Unknown
- CVSS
- Not scored
- Known Exploited
- No
- Published
CNA and ADP enrichment extracted from CVE v5
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
CVSS and timeline data
No CVSS vectors or timeline events were available in the normalized CVE source material.
Source materials
- CVE List V5 sourceCVE List V5
- https://nodesecurity.io/advisories/307CVE reference · x_refsource_MISC
- https://github.com/morrisjs/morris.js/pull/464CVE reference · x_refsource_MISC
Products and packages named in the record
CWE details
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
