Skip to content
Heist/ feed
Back to feed
Medium

Security advisory

Type: advisorySources: OSVCVE: CVE-2018-19351

Jupyter Notebook before 5.7.1 allows XSS via an untrusted notebook because nbconvert responses are considered to have the same origin as the notebook server. In other words, nbconvert endpoints can execute JavaScript with access to the server API. In notebook/nbconvert/handlers.py, NbconvertFileHandler and NbconvertPostHandler do not set a Content Security Policy to prevent this.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2018-19351
Confirmed fixed CVEs
Not specified
Updated in this feed
1 Nov 2026, 08:42 UTC · Revision 1

Source evidence

CVE-2018-19351

core-osv · Original source

Published 18 Nov 2018, 17:29 UTC

Jupyter Notebook before 5.7.1 allows XSS via an untrusted notebook because nbconvert responses are considered to have the same origin as the notebook server. In other words, nbconvert endpoints can execute JavaScript with access to the server API. In notebook/nbconvert/handlers.py, NbconvertFileHandler and NbconvertPostHandler do not set a Content Security Policy to prevent this.

osv:CVE-2018-19351
Complete source record
{
  "id": "19d9d46a7b54716b044fb811ac1f11c3559ed0e8a31e304ac4bd9dbfd7d9bdf4",
  "url": "https://osv.dev/vulnerability/CVE-2018-19351",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "CVE-2018-19351",
    "summary": "Jupyter Notebook before 5.7.1 allows XSS via an untrusted notebook because nbconvert responses are considered to have the same origin as the notebook server. In other words, nbconvert endpoints can execute JavaScript with access to the server API. In notebook/nbconvert/handlers.py, NbconvertFileHandler and NbconvertPostHandler do not set a Content Security Policy to prevent this.",
    "evidence": "osv:CVE-2018-19351",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2018-19351",
      "aliases": [
        "CVE-2018-19351",
        "GHSA-49qr-xh3w-h436",
        "PYSEC-2018-17"
      ],
      "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/jupyter/notebook",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "154fa08c48c4b549484347c9c5e1f7c85cf4e02d"
                },
                {
                  "fixed": "107a89fce5f413fb5728c1c5d2c7788e1fb17491"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:jupyter:notebook:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "5.7.1"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "range": [
                      {
                        "fixed": "107a89fce5f413fb5728c1c5d2c7788e1fb17491"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  }
                ]
              }
            }
          ],
          "versions": [
            "5.7.0",
            "5.6.0",
            "5.6.0rc1",
            "5.5.0",
            "5.5.0rc1",
            "5.4.0",
            "5.3.1",
            "5.3.0",
            "5.3.0rc1",
            "5.2.0",
            "5.2.0rc1",
            "5.1.0",
            "5.1.0rc3",
            "5.1.0rc1",
            "5.0.0",
            "5.0.0rc2",
            "5.0.0-rc.1",
            "5.0.0b2",
            "5.0.0b1",
            "4.1.0",
            "4.0.1",
            "4.0.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2018-19351.json"
          }
        }
      ],
      "modified": "2026-10-24T10:49:38.678079678Z",
      "provider": "osv",
      "references": [
        "https://groups.google.com/forum/#%21topic/jupyter/hWzu2BSsplY",
        "https://lists.debian.org/debian-lts-announce/2020/11/msg00033.html",
        "https://github.com/jupyter/notebook/blob/master/docs/source/changelog.rst",
        "https://pypi.org/project/notebook/#history",
        "https://github.com/jupyter/notebook/commit/107a89fce5f413fb5728c1c5d2c7788e1fb17491"
      ],
      "provider_metadata": {
        "unresolved_ranges": [
          {
            "cpes": [
              "cpe:2.3:a:jupyter:notebook:*:*:*:*:*:*:*:*"
            ],
            "vendor_product": "jupyter:notebook",
            "extracted_events": [
              {
                "range": [
                  {
                    "fixed": "5.7.1"
                  }
                ],
                "source": "CPE_RANGE"
              }
            ]
          }
        ]
      }
    },
    "related_cves": [
      {
        "value": "CVE-2018-19351",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 441786,
  "published_at": "2018-11-18T17:29:00.267+00:00"
}