PT-2026-50718 · Pypi · Jupyter Server
Published
2026-06-18
·
Updated
2026-06-18
·
CVE-2026-44727
CVSS v4.0
9.3
Critical
| Vector | AV:N/AC:L/AT:N/PR:L/UI:A/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H |
Name of the Vulnerable Software and Affected Versions
jupyter-server versions prior to 2.20.0
Description
The nbconvert HTTP handlers render user-authored notebook HTML under the Jupyter origin without a sandbox directive in their Content-Security-Policy (CSP), which is a security layer that helps detect and mitigate certain types of attacks. Combined with the default non-sanitizing behavior of
nbconvert.HTMLExporter, a notebook containing an HTML payload in a display data output can trigger stored Cross-Site Scripting (XSS). This allows an authenticated attacker to achieve full session takeover, token exfiltration to another domain, and kernel Remote Code Execution (RCE). The issue is triggered when a victim navigates to the endpoint "/nbconvert/html/".Recommendations
Update to version 2.20.0.
As a temporary workaround, add the following configuration to
jupyter server config.py to implement the sandbox directive:
import jupyter server.nbconvert.handlers as nbdef 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)
Fix
XSS
Clickjacking
Found an issue in the description? Have something to add? Feel free to write us 👾
Related Identifiers
Affected Products
Jupyter Server