{"id":"CVE-2018-21030","aliases":["DEBIAN-CVE-2018-21030","DLA-2432-1","EUVD-2019-0093","GHSA-jqwc-jm56-wcwj","MGASA-2022-0323","PYSEC-2019-157","UBUNTU-CVE-2018-21030","USN-5585-1"],"status":"published","title":"Cross-site scripting in Jupyter Notebook","description":"Jupyter Notebook before 5.5.0 does not use a CSP header to treat served files as belonging to a separate origin. Thus, for example, an XSS payload can be placed in an SVG document.","severity":{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N","level":"medium","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-07","score":0.01443,"percentile":0.73404,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-79","CWE-863"],"published":"2019-10-31T14:52:45Z","modified":"2026-11-06T02:45:06Z","fixes":[{"ecosystem":"PyPI","package":"notebook","fixed_in":["5.5.0rc1","5.5.0"],"sources":["ghsa","osv"]},{"ecosystem":"Debian:12","package":"jupyter-notebook","fixed_in":["5.7.4-1"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"jupyter-notebook","fixed_in":["5.7.4-1"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"jupyter-notebook","fixed_in":["5.7.4-1"],"sources":["osv"]},{"ecosystem":"Ubuntu:18.04:LTS","package":"jupyter-notebook","fixed_in":["5.2.2-1ubuntu0.1"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"PyPI","package":"notebook","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.5.0rc1"}]}]},{"source":"osv","ecosystem":"Debian:12","package":"jupyter-notebook","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.7.4-1"}]}]},{"source":"osv","ecosystem":"Debian:13","package":"jupyter-notebook","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.7.4-1"}]}]},{"source":"osv","ecosystem":"Debian:14","package":"jupyter-notebook","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.7.4-1"}]}]},{"source":"osv","ecosystem":"Debian:9","package":"jupyter-notebook","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.2.3-4+deb9u1"}]}],"versions":["4.2.3-4"],"bundled":3},{"source":"osv","ecosystem":"PyPI","package":"notebook","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.5.0rc1"}]}],"versions":["0.0.0","4.0.0","4.0.1","4.0.2","4.0.4","4.0.5","4.0.6","4.1.0","4.2.0","4.2.0b1","4.2.1","4.2.2","4.2.3","4.3.0","4.3.1","4.3.2","4.4.0","4.4.1","5.0.0","5.0.0b1","5.0.0b2","5.0.0rc1","5.0.0rc2","5.1.0","5.1.0rc1","5.1.0rc2","5.1.0rc3","5.2.0","5.2.0rc1","5.2.1","5.2.1rc1","5.2.2","5.3.0","5.3.0rc1","5.3.1","5.4.0","5.4.1"]},{"source":"osv","ecosystem":"Mageia:8","package":"jupyter-notebook","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"6.4.12-1.mga8"}]}],"bundled":10},{"source":"osv","ecosystem":"Mageia:8","package":"python-send2trash","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.8.0-1.mga8"}]}],"bundled":10},{"source":"osv","ecosystem":"Mageia:8","package":"python-nest-asyncio","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.5.5-1.mga8"}]}],"bundled":10},{"source":"osv","ecosystem":"PyPI","package":"notebook","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.5.0"}]}],"versions":["0.0.0","4.0.0","4.0.1","4.0.2","4.0.4","4.0.5","4.0.6","4.1.0","4.2.0","4.2.0b1","4.2.1","4.2.2","4.2.3","4.3.0","4.3.1","4.3.2","4.4.0","4.4.1","5.0.0","5.0.0b1","5.0.0b2","5.0.0rc1","5.0.0rc2","5.1.0","5.1.0rc1","5.1.0rc2","5.1.0rc3","5.2.0","5.2.0rc1","5.2.1","5.2.1rc1","5.2.2","5.3.0","5.3.0rc1","5.3.1","5.4.0","5.4.1","5.5.0rc1"]},{"source":"osv","ecosystem":"Ubuntu:18.04:LTS","package":"jupyter-notebook","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.2.2-1ubuntu0.1"}]}],"versions":["4.2.3-4","5.1.0-2","5.2.1-2","5.2.2-1"]},{"source":"osv","ecosystem":"Ubuntu:18.04:LTS","package":"jupyter-notebook","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.2.2-1ubuntu0.1"}]}],"versions":["4.2.3-4","5.1.0-2","5.2.1-2","5.2.2-1"],"bundled":8},{"source":"osv","ecosystem":"Ubuntu:20.04:LTS","package":"jupyter-notebook","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"6.0.3-2ubuntu0.1"}]}],"versions":["5.7.8-1","6.0.0-1","6.0.0-2","6.0.2-1","6.0.3-1","6.0.3-2"],"bundled":8},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"jupyter-notebook","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"6.4.8-1ubuntu0.1"}]}],"versions":["6.2.0-1","6.4.5-2","6.4.5-3","6.4.5-4","6.4.8-1"],"bundled":8}],"products":[{"vendor":"jupyter","product":"notebook"}],"references":[{"url":"https://github.com/jupyter/notebook/pull/3341","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","fix","web","report"]},{"url":"https://github.com/jupyter/notebook/releases/tag/5.5.0","tags":["x_refsource_MISC","x_transferred","Release Notes","Third Party Advisory","advisory","web","report"]},{"url":"https://lists.debian.org/debian-lts-announce/2020/11/msg00033.html","tags":["mailing-list","x_refsource_MLIST","x_transferred","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2018-21030","tags":["advisory"]},{"url":"https://github.com/jupyter/notebook/commit/e321c80776542b8d6f3411af16f9e21e51e27687","tags":["web"]},{"url":"https://github.com/advisories/GHSA-jqwc-jm56-wcwj","tags":["advisory"]},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/notebook/PYSEC-2019-157.yaml","tags":["web"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2018-21030","tags":["advisory"]},{"url":"https://github.com/jupyter/notebook","tags":["package"]},{"url":"https://advisories.mageia.org/MGASA-2022-0323.html","tags":["advisory"]},{"url":"https://bugs.mageia.org/show_bug.cgi?id=30789","tags":["report"]},{"url":"https://bugs.mageia.org/show_bug.cgi?id=30664","tags":["report"]},{"url":"https://ubuntu.com/security/notices/USN-5585-1","tags":["advisory"]},{"url":"https://github.com/jupyter/notebook/security/advisories/GHSA-m87f-39q9-6f55","tags":["advisory"]},{"url":"https://github.com/jupyter/notebook/security/advisories/GHSA-v7vq-3x77-87vg","tags":["advisory"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/thread/ORJX2LF6KMPIHP6B2P6KZIVKMLE3LVJ5/","tags":["web"]},{"url":"https://ubuntu.com/security/CVE-2018-21030","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2018-21030","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2018-19351","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2019-9644","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2019-10255","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2019-10856","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2020-26215","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2022-24758","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2022-29238","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2018-21030","description":"Jupyter Notebook before 5.5.0 does not use a CSP header to treat served files as belonging to a separate origin. Thus, for example, an XSS payload can be placed in an SVG document.","status":"published","published":"2019-10-31T14:52:45Z","modified":"2024-08-05T12:19:27.469Z","updated_at":"2026-11-02T14:35:02.289647Z"}],"euvd":[{"id":"EUVD-2019-0093","description":"Jupyter Notebook before 5.5.0 does not use a CSP header to treat served files as belonging to a separate origin. Thus, for example, an XSS payload can be placed in an SVG document.","status":"published","published":"2019-10-31T14:52:45Z","modified":"2024-08-05T12:19:27Z","updated_at":"2026-11-03T02:39:28.311281Z"}],"ghsa":[{"id":"GHSA-jqwc-jm56-wcwj","title":"Cross-site scripting in Jupyter Notebook","description":"Jupyter Notebook before 5.5.0 does not use a CSP header to treat served files as belonging to a separate origin. Thus, for example, an XSS payload can be placed in an SVG document.","status":"published","published":"2019-11-08T17:07:42Z","modified":"2024-10-07T14:48:30Z","cvss":[{"version":"4.0","score":6.9,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N","level":"medium"},{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N","level":"medium"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:38:08.742903Z"}],"nvd":[{"id":"CVE-2018-21030","description":"Jupyter Notebook before 5.5.0 does not use a CSP header to treat served files as belonging to a separate origin. Thus, for example, an XSS payload can be placed in an SVG document.","status":"published","published":"2019-10-31T15:15:10.42Z","modified":"2026-06-17T01:53:59.55Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N","level":"medium","assessor":"primary"},{"version":"2.0","score":5,"vector":"AV:N/AC:L/Au:N/C:N/I:P/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-79","CWE-863"],"updated_at":"2026-11-02T14:04:59.278647Z"}],"osv":[{"id":"CVE-2018-21030","description":"Jupyter Notebook before 5.5.0 does not use a CSP header to treat served files as belonging to a separate origin. Thus, for example, an XSS payload can be placed in an SVG document.","status":"published","published":"2019-10-31T15:15:10.42Z","modified":"2026-11-06T02:45:06.767485375Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N","level":"medium"}],"updated_at":"2026-11-06T03:04:11.655443Z"},{"id":"DEBIAN-CVE-2018-21030","description":"Jupyter Notebook before 5.5.0 does not use a CSP header to treat served files as belonging to a separate origin. Thus, for example, an XSS payload can be placed in an SVG document.","status":"published","published":"2019-10-31T15:15:10.42Z","modified":"2026-10-23T18:03:05.888177024Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T15:45:30.867575Z"},{"id":"GHSA-jqwc-jm56-wcwj","title":"Cross-site scripting in Jupyter Notebook","description":"Jupyter Notebook before 5.5.0 does not use a CSP header to treat served files as belonging to a separate origin. Thus, for example, an XSS payload can be placed in an SVG document.","status":"published","published":"2019-11-08T17:07:42Z","modified":"2024-10-07T15:12:51.790482Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N","level":"medium"},{"version":"4.0","score":6.9,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N","level":"medium"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T15:46:50.687609Z"},{"id":"UBUNTU-CVE-2018-21030","description":"Jupyter Notebook before 5.5.0 does not use a CSP header to treat served files as belonging to a separate origin. Thus, for example, an XSS payload can be placed in an SVG document.","status":"published","published":"2019-10-31T15:15:00Z","modified":"2026-02-04T03:49:51.35136Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T15:54:17.91743Z"},{"id":"DLA-2432-1","title":"jupyter-notebook - security update","status":"published","published":"2020-11-04T00:00:00Z","modified":"2026-03-09T01:18:22.797336Z","updated_at":"2026-11-02T15:46:10.712745Z"},{"id":"MGASA-2022-0323","title":"Updated jupyter-notebook packages fix security vulnerability","description":"It was discovered that Jupyter Notebook incorrectly handled certain\nnotebooks. An attacker could possibly use this issue of lack of Content\nSecurity Policy in Nbconvert to perform cross-site scripting (XSS) attacks\non the notebook server. (CVE-2018-19351)\n\nIt was discovered that Jupyter Notebook incorrectly handled certain SVG\ndocuments. An attacker could possibly use this issue to perform cross-site\nscripting (XSS) attacks. (CVE-2018-21030)\n\nIt was discovered that Jupyter Notebook incorrectly filtered certain URLs\non the login page. An attacker could possibly use this issue to perform\nopen-redirect attack. (CVE-2019-10255)\n\nIt was discovered that Jupyter Notebook had an incomplete fix for\nCVE-2019-10255. An attacker could possibly use this issue to perform\nopen-redirect attack using empty netloc. (CVE-2019-10856)\n\nIt was discovered that Jupyter Notebook incorrectly handled the inclusion\nof remote pages on Jupyter server. An attacker could possibly use this\nissue to perform cross-site script inclusion (XSSI) attacks.\n(CVE-2019-9644)\n\nIt was discovered that Jupyter Notebook incorrectly filtered certain URLs\nto a notebook. An attacker could possibly use this issue to perform\nopen-redirect attack. (CVE-2020-26215)\n\nIt was discovered that Jupyter Notebook server access logs were not\nprotected. An attacker having access to the notebook server could possibly\nuse this issue to get access to steal sensitive information such as\nauth/cookies. (CVE-2022-24758)\n\nIt was discovered that Jupyter Notebook incorrectly configured hidden\nfiles on the server. An authenticated attacker could possibly use this\nissue to see unwanted sensitive hidden files from the server which may\nresult in getting full access to the server. (CVE-2022-29238)\n\nMoment.js: Path traversal  in moment.locale (CVE-2022-24785)\n\nmoment: inefficient parsing algorithim resulting in DoS (CVE-2022-31129)\n","status":"published","published":"2022-09-10T20:26:43Z","modified":"2026-04-16T04:43:57.344577826Z","updated_at":"2026-11-02T15:49:42.263076Z"},{"id":"PYSEC-2019-157","description":"Jupyter Notebook before 5.5.0 does not use a CSP header to treat served files as belonging to a separate origin. Thus, for example, an XSS payload can be placed in an SVG document.","status":"published","published":"2019-10-31T15:15:00Z","modified":"2023-11-08T04:00:14.113021Z","updated_at":"2026-11-02T15:52:52.192131Z"},{"id":"USN-5585-1","title":"jupyter-notebook vulnerabilities","description":"It was discovered that Jupyter Notebook incorrectly handled certain notebooks.\nAn attacker could possibly use this issue of lack of Content Security Policy\nin Nbconvert to perform cross-site scripting (XSS) attacks on the notebook\nserver. This issue only affected Ubuntu 18.04 LTS. (CVE-2018-19351)\n\nIt was discovered that Jupyter Notebook incorrectly handled certain SVG\ndocuments. An attacker could possibly use this issue to perform cross-site\nscripting (XSS) attacks. This issue only affected Ubuntu 18.04 LTS.\n(CVE-2018-21030)\n\nIt was discovered that Jupyter Notebook incorrectly filtered certain URLs on\nthe login page. An attacker could possibly use this issue to perform\nopen-redirect attack. This issue only affected Ubuntu 18.04 LTS.\n(CVE-2019-10255)\n\nIt was discovered that Jupyter Notebook had an incomplete fix for\nCVE-2019-10255. An attacker could possibly use this issue to perform\nopen-redirect attack using empty netloc. (CVE-2019-10856)\n\nIt was discovered that Jupyter Notebook incorrectly handled the inclusion of\nremote pages on Jupyter server. An attacker could possibly use this issue to\nperform cross-site script inclusion (XSSI) attacks. This issue only affected\nUbuntu 18.04 LTS. (CVE-2019-9644)\n\nIt was discovered that Jupyter Notebook incorrectly filtered certain URLs to a\nnotebook. An attacker could possibly use this issue to perform open-redirect\nattack. This issue only affected Ubuntu 18.04 LTS and Ubuntu 20.04 LTS.\n(CVE-2020-26215)\n\nIt was discovered that Jupyter Notebook server access logs were not protected.\nAn attacker having access to the notebook server could possibly use this issue\nto get access to steal sensitive information such as auth/cookies.\n(CVE-2022-24758)\n\nIt was discovered that Jupyter Notebook incorrectly configured hidden files on\nthe server. An authenticated attacker could possibly use this issue to see\nunwanted sensitive hidden files from the server which may result in getting\nfull access to the server. This issue only affected Ubuntu 20.04 LTS and\nUbuntu 22.04 LTS. (CVE-2022-29238)\n","status":"published","published":"2022-08-30T09:26:17Z","modified":"2026-04-27T16:32:22.163085376Z","updated_at":"2026-11-02T16:58:16.20937Z"}]}}
