CVE-2018-21030
Cross-site scripting in Jupyter Notebook
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- Low
- Availability
- None
Exploit likelihood
What each source reports
NVD Score used
5.3
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.
- Record
CVE-2018-21030- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N - CVSS 2.0
- 5.0 Medium
AV:N/AC:L/Au:N/C:N/I:P/A:N - Weakness
- CWE-79, CWE-863
- Updated
- 2026-11-02
CVE List No score
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.
- Record
CVE-2018-21030- Updated
- 2026-11-02
EUVDEUVD-2019-0093 No score
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.
- Record
EUVD-2019-0093- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-jqwc-jm56-wcwj
6.9
Cross-site scripting in Jupyter Notebook
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.
- Record
GHSA-jqwc-jm56-wcwj- CVSS 4.0
- 6.9 Medium
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 - CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N - Weakness
- CWE-79
- Updated
- 2026-11-02
OSV
5.3
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.
- Record
CVE-2018-21030- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N - Updated
- 2026-11-06
OSVDEBIAN-CVE-2018-21030
5.3
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.
- Record
DEBIAN-CVE-2018-21030- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N - Updated
- 2026-11-02
Show 5 moreShow less
OSVGHSA-jqwc-jm56-wcwj
6.9
Cross-site scripting in Jupyter Notebook
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.
- Record
GHSA-jqwc-jm56-wcwj- CVSS 4.0
- 6.9 Medium
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 - CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N - Weakness
- CWE-79
- Updated
- 2026-11-02
OSVUBUNTU-CVE-2018-21030
5.3
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.
- Record
UBUNTU-CVE-2018-21030- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N - Updated
- 2026-11-02
OSVMGASA-2022-0323 No score
Updated jupyter-notebook packages fix security vulnerability
It was discovered that Jupyter Notebook incorrectly handled certain notebooks. An attacker could possibly use this issue of lack of Content Security Policy in Nbconvert to perform cross-site scripting (XSS) attacks on the notebook server. (CVE-2018-19351)
It was discovered that Jupyter Notebook incorrectly handled certain SVG documents. An attacker could possibly use this issue to perform cross-site scripting (XSS) attacks. (CVE-2018-21030)
It was discovered that Jupyter Notebook incorrectly filtered certain URLs on the login page. An attacker could possibly use this issue to perform open-redirect attack. (CVE-2019-10255)
It was discovered that Jupyter Notebook had an incomplete fix for CVE-2019-10255. An attacker could possibly use this issue to perform open-redirect attack using empty netloc. (CVE-2019-10856)
It was discovered that Jupyter Notebook incorrectly handled the inclusion of remote pages on Jupyter server. An attacker could possibly use this issue to perform cross-site script inclusion (XSSI) attacks. (CVE-2019-9644)
It was discovered that Jupyter Notebook incorrectly filtered certain URLs to a notebook. An attacker could possibly use this issue to perform open-redirect attack. (CVE-2020-26215)
It was discovered that Jupyter Notebook server access logs were not protected. An attacker having access to the notebook server could possibly use this issue to get access to steal sensitive information such as auth/cookies. (CVE-2022-24758)
It was discovered that Jupyter Notebook incorrectly configured hidden files on the server. An authenticated attacker could possibly use this issue to see unwanted sensitive hidden files from the server which may result in getting full access to the server. (CVE-2022-29238)
Moment.js: Path traversal in moment.locale (CVE-2022-24785)
moment: inefficient parsing algorithim resulting in DoS (CVE-2022-31129)
- Record
MGASA-2022-0323- Updated
- 2026-11-02
OSVPYSEC-2019-157 No score
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.
- Record
PYSEC-2019-157- Updated
- 2026-11-02
OSVUSN-5585-1 No score
jupyter-notebook vulnerabilities
It was discovered that Jupyter Notebook incorrectly handled certain notebooks. An attacker could possibly use this issue of lack of Content Security Policy in Nbconvert to perform cross-site scripting (XSS) attacks on the notebook server. This issue only affected Ubuntu 18.04 LTS. (CVE-2018-19351)
It was discovered that Jupyter Notebook incorrectly handled certain SVG documents. An attacker could possibly use this issue to perform cross-site scripting (XSS) attacks. This issue only affected Ubuntu 18.04 LTS. (CVE-2018-21030)
It was discovered that Jupyter Notebook incorrectly filtered certain URLs on the login page. An attacker could possibly use this issue to perform open-redirect attack. This issue only affected Ubuntu 18.04 LTS. (CVE-2019-10255)
It was discovered that Jupyter Notebook had an incomplete fix for CVE-2019-10255. An attacker could possibly use this issue to perform open-redirect attack using empty netloc. (CVE-2019-10856)
It was discovered that Jupyter Notebook incorrectly handled the inclusion of remote pages on Jupyter server. An attacker could possibly use this issue to perform cross-site script inclusion (XSSI) attacks. This issue only affected Ubuntu 18.04 LTS. (CVE-2019-9644)
It was discovered that Jupyter Notebook incorrectly filtered certain URLs to a notebook. An attacker could possibly use this issue to perform open-redirect attack. This issue only affected Ubuntu 18.04 LTS and Ubuntu 20.04 LTS. (CVE-2020-26215)
It was discovered that Jupyter Notebook server access logs were not protected. An attacker having access to the notebook server could possibly use this issue to get access to steal sensitive information such as auth/cookies. (CVE-2022-24758)
It was discovered that Jupyter Notebook incorrectly configured hidden files on the server. An authenticated attacker could possibly use this issue to see unwanted sensitive hidden files from the server which may result in getting full access to the server. This issue only affected Ubuntu 20.04 LTS and Ubuntu 22.04 LTS. (CVE-2022-29238)
- Record
USN-5585-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
notebookPyPI |
before 5.5.0rc1 | 5.5.0rc1 |
jupyter-notebookDebian:12 |
before 5.7.4-1 | 5.7.4-1 |
jupyter-notebookDebian:13 |
before 5.7.4-1 | 5.7.4-1 |
jupyter-notebookDebian:14 |
before 5.7.4-1 | 5.7.4-1 |
jupyter-notebookDebian:9 From an advisory covering 3 CVEs |
before 4.2.3-4+deb9u1, plus listed versions 4.2.3-4 |
4.2.3-4+deb9u1 |
notebookPyPI |
before 5.5.0rc1, plus listed versions 0.0.04.0.04.0.14.0.24.0.4 Show 32 moreShow less4.0.54.0.64.1.04.2.04.2.0b14.2.14.2.24.2.34.3.04.3.14.3.24.4.04.4.15.0.05.0.0b15.0.0b25.0.0rc15.0.0rc25.1.05.1.0rc15.1.0rc25.1.0rc35.2.05.2.0rc15.2.15.2.1rc15.2.25.3.05.3.0rc15.3.15.4.05.4.1 |
5.5.0rc1 |
jupyter-notebookMageia:8 From an advisory covering 10 CVEs |
before 6.4.12-1.mga8 | 6.4.12-1.mga8 |
python-send2trashMageia:8 From an advisory covering 10 CVEs |
before 1.8.0-1.mga8 | 1.8.0-1.mga8 |
python-nest-asyncioMageia:8 From an advisory covering 10 CVEs |
before 1.5.5-1.mga8 | 1.5.5-1.mga8 |
notebookPyPI |
before 5.5.0, plus listed versions 0.0.04.0.04.0.14.0.24.0.4 Show 33 moreShow less4.0.54.0.64.1.04.2.04.2.0b14.2.14.2.24.2.34.3.04.3.14.3.24.4.04.4.15.0.05.0.0b15.0.0b25.0.0rc15.0.0rc25.1.05.1.0rc15.1.0rc25.1.0rc35.2.05.2.0rc15.2.15.2.1rc15.2.25.3.05.3.0rc15.3.15.4.05.4.15.5.0rc1 |
5.5.0 |
Show 4 moreShow less
| Package | Affected | Fixed |
|---|---|---|
jupyter-notebookUbuntu:18.04:LTS |
before 5.2.2-1ubuntu0.1, plus listed versions 4.2.3-45.1.0-25.2.1-25.2.2-1 |
5.2.2-1ubuntu0.1 |
jupyter-notebookUbuntu:18.04:LTS From an advisory covering 8 CVEs |
before 5.2.2-1ubuntu0.1, plus listed versions 4.2.3-45.1.0-25.2.1-25.2.2-1 |
5.2.2-1ubuntu0.1 |
jupyter-notebookUbuntu:20.04:LTS From an advisory covering 8 CVEs |
before 6.0.3-2ubuntu0.1, plus listed versions 5.7.8-16.0.0-16.0.0-26.0.2-16.0.3-16.0.3-2 |
6.0.3-2ubuntu0.1 |
jupyter-notebookUbuntu:22.04:LTS From an advisory covering 8 CVEs |
before 6.4.8-1ubuntu0.1, plus listed versions 6.2.0-16.4.5-26.4.5-36.4.5-46.4.8-1 |
6.4.8-1ubuntu0.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected | ||
| facts | OSV | |
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2018-21030 is a medium vulnerability (CVSS 5.3) in Jupyter Notebook, published October 31, 2019. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.44%, the 73rd percentile. Fixed in notebook 5.5.0rc1.
References
github.com/jupyter/notebook/pull/3341
github.com/jupyter/notebook/releases/tag/5.5.0
lists.debian.org/debian-lts-announce/2020/11/msg00033.html
nvd.nist.gov/vuln/detail/CVE-2018-21030
github.com/jupyter/notebook/commit/e321c80776542b8d6f3411af16f9e21e51e27687
github.com/advisories/GHSA-jqwc-jm56-wcwj
Show 19 moreShow less
github.com/pypa/advisory-database/tree/main/vulns/notebook/PYSEC-2019-157.yaml
security-tracker.debian.org/tracker/CVE-2018-21030
github.com/jupyter/notebook
advisories.mageia.org/MGASA-2022-0323.html
bugs.mageia.org/show_bug.cgi?id=30789
bugs.mageia.org/show_bug.cgi?id=30664
ubuntu.com/security/notices/USN-5585-1
github.com/jupyter/notebook/security/advisories/GHSA-m87f-39q9-6f55
github.com/jupyter/notebook/security/advisories/GHSA-v7vq-3x77-87vg
lists.fedoraproject.org/archives/list/[email protected]/thread/ORJX2LF6KMPIHP6B2P6KZIVKMLE3LVJ5
ubuntu.com/security/CVE-2018-21030
cve.org/CVERecord?id=CVE-2018-21030
ubuntu.com/security/CVE-2018-19351
ubuntu.com/security/CVE-2019-9644
ubuntu.com/security/CVE-2019-10255
ubuntu.com/security/CVE-2019-10856
ubuntu.com/security/CVE-2020-26215
ubuntu.com/security/CVE-2022-24758
ubuntu.com/security/CVE-2022-29238