Security advisory
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
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"
}