Skip to content
Heist/ feed
Back to feed
Medium

Security advisory

Type: advisorySources: OSVCVE: CVE-2017-16022

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.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2017-16022
Confirmed fixed CVEs
Not specified
Updated in this feed
31 Oct 2026, 09:52 UTC · Revision 1

Source evidence

CVE-2017-16022

core-osv · Original source

Published 4 Jun 2018, 19:29 UTC

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.

osv:CVE-2017-16022
Complete source record
{
  "id": "e453a980277e17111f6f58d0059728f291c66d5409dd4371e3aae6f26a31ba1f",
  "url": "https://osv.dev/vulnerability/CVE-2017-16022",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "CVE-2017-16022",
    "summary": "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.",
    "evidence": "osv:CVE-2017-16022",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2017-16022",
      "aliases": [
        "CVE-2017-16022",
        "GHSA-fwx5-5fqj-jv98"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/morrisjs/morris.js",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "last_affected": "d31c072942bc5bf3f02247737c01b5219a35464c"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:morris.js_project:morris.js:*:*:*:*:*:node.js:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "last_affected": "0.5.0"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "versions": [
            "0.5.0",
            "0.4.3",
            "0.4.2",
            "0.4.1",
            "0.4.0",
            "0.3.3",
            "0.3.2",
            "0.3.1",
            "0.3.0",
            "0.2.10",
            "0.2.9",
            "0.2.8",
            "0.2.7",
            "0.2.6",
            "0.2.5",
            "0.2.4",
            "0.2.3",
            "0.2.2",
            "0.2.1"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2017-16022.json"
          }
        }
      ],
      "modified": "2026-10-20T10:48:16.196058546Z",
      "provider": "osv",
      "references": [
        "https://github.com/morrisjs/morris.js/pull/464",
        "https://nodesecurity.io/advisories/307"
      ],
      "provider_metadata": {}
    },
    "related_cves": [
      {
        "value": "CVE-2017-16022",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 380216,
  "published_at": "2018-06-04T19:29:01.35+00:00"
}