CVE-2018-19351 Jupyter Notebook XSS via untrusted notebooks
Attackers can execute JavaScript with server API access via untrusted notebooks due to missing Content Security Policy headers in nbconvert handlers.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2018-19351?
CVE-2018-19351 is a medium-severity cross-site scripting vulnerability in n/a, published on 18 Nov 2018. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.
Official description
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.
Weakness: CWE-79
Which versions are affected by CVE-2018-19351?
3 open source packages ship an affected version, including notebook. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
notebook PyPI | All versions | 5.7.1 |
notebook PyPI | All versions | 5.7.1 |
notebook PyPI | All versions | 5.7.1 |
Products include Jupyter Notebook.
How do I fix CVE-2018-19351?
Upgrade notebook to 5.7.1 or later.
Escape output for the context it lands in and set a strict Content Security Policy. Upgrading the affected component is the real fix. More about Cross-site scripting.
Is CVE-2018-19351 being exploited?
There is no known exploitation of CVE-2018-19351 in the wild and no public exploit code.
Other vulnerabilities in n/a
- CVE-2021-32798 Failure to Sanitize Special Elements into a Different Plane (Special Element Injection) in notebook
- CVE-2018-8768 Jupyter Notebook file bypasses sanitization, executes JavaScript
- CVE-2022-24758 Insertion of Sensitive Information into Log File affects Jupyter Notebook
- CVE-2019-10856 Jupyter Notebook open redirect vulnerability
- CVE-2018-19352 Jupyter Notebook XSS via directory name
Sources
Also known as DEBIAN-CVE-2018-19351, GHSA-49qr-xh3w-h436, PYSEC-2018-17, UBUNTU-CVE-2018-19351.