An open API service providing security vulnerability metadata for many open source software ecosystems.

MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTQ5cXIteGgzdy1oNDM2

Moderate CVSS: 5.1 EPSS: 0.00307% (0.53604 Percentile) EPSS:

Jupyter Notebook XSS via untrusted notebooks

Affected Packages Affected Versions Fixed Versions
pypi:notebook
PURL: pkg:pypi/notebook
< 5.7.1 5.7.1
705 Dependent packages
60,132 Dependent repositories
56,964,763 Downloads last month

Affected Version Ranges

All affected 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.0, 5.5.0rc1, 5.6.0, 5.6.0rc1, 5.7.0

All unaffected versions

5.7.1, 5.7.2, 5.7.3, 5.7.4, 5.7.5, 5.7.6, 5.7.8, 5.7.9, 5.7.10, 5.7.11, 5.7.12, 5.7.13, 5.7.14, 5.7.14a0, 5.7.15, 5.7.16, 6.0.0, 6.0.0rc1, 6.0.1, 6.0.2, 6.0.3, 6.1.0, 6.1.0rc1, 6.1.1, 6.1.2, 6.1.3, 6.1.4, 6.1.5, 6.1.6, 6.2.0, 6.3.0, 6.4.0, 6.4.0a0, 6.4.0a1, 6.4.0rc0, 6.4.1, 6.4.2, 6.4.3, 6.4.4, 6.4.5, 6.4.6, 6.4.7, 6.4.8, 6.4.9, 6.4.10, 6.4.11, 6.4.12, 6.4.13, 6.5.0, 6.5.0a0, 6.5.0b0, 6.5.0rc0, 6.5.1, 6.5.2, 6.5.3, 6.5.4, 6.5.5, 6.5.6, 6.5.7, 7.0.0, 7.0.0a1, 7.0.0a2, 7.0.0a3, 7.0.0a4, 7.0.0a5, 7.0.0a6, 7.0.0a7, 7.0.0a8, 7.0.0a9, 7.0.0a10, 7.0.0a11, 7.0.0a12, 7.0.0a13, 7.0.0a14, 7.0.0a15, 7.0.0a16, 7.0.0a17, 7.0.0a18, 7.0.0b0, 7.0.0b1, 7.0.0b2, 7.0.0b3, 7.0.0b4, 7.0.0rc0, 7.0.0rc1, 7.0.0rc2, 7.0.1, 7.0.2, 7.0.3, 7.0.4, 7.0.5, 7.0.6, 7.0.7, 7.0.8, 7.1.0, 7.1.0a0, 7.1.0a1, 7.1.0a2, 7.1.0b0, 7.1.0rc0, 7.1.0rc1, 7.1.1, 7.1.2, 7.1.3, 7.2.0, 7.2.0a0, 7.2.0b0, 7.2.0b1, 7.2.0rc0, 7.2.0rc1, 7.2.1, 7.2.2, 7.2.3, 7.3.0, 7.3.0a0, 7.3.0a1, 7.3.0b0, 7.3.0b1, 7.3.0b2, 7.3.0rc0, 7.3.1, 7.3.2, 7.3.3, 7.4.0, 7.4.0a0, 7.4.0a1, 7.4.0a2, 7.4.0a3, 7.4.0b0, 7.4.0b1, 7.4.0b2, 7.4.0b3, 7.4.0rc0, 7.4.1, 7.4.2, 7.4.3, 7.4.4, 7.4.5, 7.4.6, 7.4.7, 7.5.0a0, 7.5.0a1, 7.5.0a2, 7.5.0a3, 7.5.0b0, 7.5.0b1

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.

References: