🛡️ CVE-2026-44727 — jupyter-server

🔴 CVSS 9.5 — Critical ✅ No Known Exploit CWE-1021 OSV
9.5
CVSS Score
0 Low4 Medium7 High9 Critical10

Description

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](https://github.com/jupyter-server/jupyter_server/commit/6cbee8d65e71abac851c4492fea987ad080580bd)

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)

```

How this vulnerability can be exploited

This issue can be reached over the network, attack complexity is low, an attacker needs low-level privileges on the target. A user must actively cooperate. Rated impact: confidentiality high, integrity high, availability high.

Weakness class

CVE-2026-44727 is classified as CWE-1021: Improper Restriction of Rendered UI Layers. The interface can be framed or overlaid by another site, so clicks can be redirected without the user noticing.

Affected software

CVE-2026-44727 is recorded against 1 package.

  • jupyter-server (fixed in 2.20.0)

Timeline and source

Published on 18 June 2026 and last revised on 22 July 2026. No public exploit is currently recorded for this entry. A vendor advisory or fix has been published. Record sourced from OSV.

References

github.com (Web)
nvd.nist.gov (Advisory)
github.com (Web)
access.redhat.com (Web)
access.redhat.com (Web)
bugzilla.redhat.com (Web)
github.com (Advisory)
github.com (Package)
github.com (Web)
pypi.org (Web)
security.access.redhat.com (Web)

Details

Severity CRITICAL
CVSS Score 9.5
CVSS Vector CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:A/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
CWE CWE-1021
Public Exploit ✅ No
Source OSV
Published 2026-06-18
Updated 2026-08-12
Modified 2026-07-22

Affected Packages

Software From version Fixed in
jupyter-server 2.20.0

Similar Threats

Exploit Protection

Are you running jupyter-server?

CVE-2026-44727 carries CVSS 9.5 Critical rating. BotEraser checks your installation against this and other known CVE records, and blocks IPs associated with exploit activity.

Check My Site For CVE-2026-44727 →

No credit card required  ·  Results in minutes

ⓘ Data Notice: The information presented above has been compiled from publicly available internet sources. Boteraser aggregates this data solely for informational purposes and does not independently classify, evaluate, or endorse any findings about the vulnerabilities listed. The accuracy and completeness of this information is the sole responsibility of the original publishers. Boteraser and its operators accept no liability for any decisions made based on this data.