Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

github логотип

GHSA-fcw5-x6j4-ccmp

Опубликовано: 18 июн. 2026
Источник: github
Github: Прошло ревью
CVSS4: 9.3

Описание

Jupyter Server: Stored XSS in NbconvertFileHandler / NbconvertPostHandler via missing sandbox CSP

The nbconvert HTTP handlers in jupyter_server render user-authored notebook HTML under the Jupyter origin without a sandbox directive in their Content-Security-Policy.

Combined with nbconvert.HTMLExporter's default non-sanitizing behavior, a notebook carrying an HTML payload in a display_data output triggers stored XSS with cookie access, full /api/* authority, and kernel RCE.

Impact

An authenticated victim who navigates to /nbconvert/html/<path> containing attacker-authored output can have their token exfiltrated to another domain because it is executed in the Jupyter origin.

Patches

Fixed in v2.20.0, commit 6cbee8d

Workarounds

For deployments where editing the installed jupyter_server is impractical (containerized builds, read-only images), adding this to jupyter_server_config.py has the same effect as the patch above without touching source files:

import jupyter_server.nbconvert.handlers as _nb def _csp(self): return super(type(self), self).content_security_policy + "; sandbox allow-scripts" _nb.NbconvertFileHandler.content_security_policy = property(_csp) _nb.NbconvertPostHandler.content_security_policy = property(_csp)

Пакеты

Наименование

jupyter-server

pip
Затронутые версииВерсия исправления

<= 2.19.0

2.20.0

EPSS

Процентиль: 23%
0.00305
Низкий

9.3 Critical

CVSS4

Дефекты

CWE-1021
CWE-79

Связанные уязвимости

CVSS3: 5.4
ubuntu
около 2 месяцев назад

Jupyter Server is the backend for Jupyter web applications. Prior to 2.20, the nbconvert HTTP handlers in jupyter_server render user-authored notebook HTML under the Jupyter origin without a sandbox directive in their Content-Security-Policy. Combined with nbconvert.HTMLExporter's default non-sanitizing behavior, a notebook carrying an HTML payload in a display_data output triggers stored XSS with cookie access, full /api/* authority, and kernel RCE. This vulnerability is fixed in 2.20.

CVSS3: 9
redhat
около 2 месяцев назад

Jupyter Server is the backend for Jupyter web applications. Prior to 2.20, the nbconvert HTTP handlers in jupyter_server render user-authored notebook HTML under the Jupyter origin without a sandbox directive in their Content-Security-Policy. Combined with nbconvert.HTMLExporter's default non-sanitizing behavior, a notebook carrying an HTML payload in a display_data output triggers stored XSS with cookie access, full /api/* authority, and kernel RCE. This vulnerability is fixed in 2.20.

CVSS3: 5.4
nvd
около 2 месяцев назад

Jupyter Server is the backend for Jupyter web applications. Prior to 2.20, the nbconvert HTTP handlers in jupyter_server render user-authored notebook HTML under the Jupyter origin without a sandbox directive in their Content-Security-Policy. Combined with nbconvert.HTMLExporter's default non-sanitizing behavior, a notebook carrying an HTML payload in a display_data output triggers stored XSS with cookie access, full /api/* authority, and kernel RCE. This vulnerability is fixed in 2.20.

CVSS3: 5.4
debian
около 2 месяцев назад

Jupyter Server is the backend for Jupyter web applications. Prior to 2 ...

EPSS

Процентиль: 23%
0.00305
Низкий

9.3 Critical

CVSS4

Дефекты

CWE-1021
CWE-79