---
title: "CVE-2026-44727: Jupyter Server: Stored XSS in `NbconvertFileHandler` / `NbconvertPostHandler` via missing `sandbox` CSP"
url: https://erroneo.us/security/cve/CVE-2026-44727/
description: "CVE-2026-44727 (jupyter-server (PyPI)): Jupyter Server is the backend for Jupyter web applications. Prior to 2.20, the nbconvert HTTP handlers in…"
type: vulnerability-record
section: "Security Digest"
date_published: 2026-06-22
date_modified: 2026-08-28
publisher: erroneo.us
author: erroneo.us Security Desk
cve: "CVE-2026-44727"
kev: false
cvss: 9.3
epss: 0.00438
license: All rights reserved. Quote with attribution and a link.
---

# CVE-2026-44727: Jupyter Server: Stored XSS in `NbconvertFileHandler` / `NbconvertPostHandler` via missing `sandbox` CSP

**Signal:** Critical, preconditions apply. Severe if exploited, but exploitation needs conditions that may not apply to you. (Computed from CISA KEV, EPSS and CVSS; not an editorial verdict.)

## Should you act?

- No confirmed exploitation. It is not in CISA’s KEV catalog and CISA’s SSVC assessment records no known exploitation. That can change quickly after a public write-up; re-check if you are affected.
- EPSS 0.4% , percentile 37: FIRST’s model estimates a 0.4% chance of exploitation activity in the next 30 days, higher than 37% of all scored CVEs (low). EPSS is a probability, not a verdict.
- Needs an account (low (any account)). Exposure depends on who can log in.
- Only applies if your dependency tree includes jupyter-server (PyPI) <= 2.19.0, fixed in 2.20.0 . Check your lockfile, including transitive dependencies.

## What it is

Jupyter Server is the backend for Jupyter web applications. Prior to 2.20, the nbconvert HTTP handlers in jupyterserver 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 displaydata output triggers stored XSS with cookie access, full /api/ authority, and kernel RCE. This vulnerability is fixed in 2.20.

## Affected packages

- PyPI `jupyter-server` <= 2.19.0 → fixed: 2.20.0

## Affected products (CVE record)

- jupyter-server jupyter_server: < 2.20

## Severity

- GitHub_M CVSS 4.0: 9.3 `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`
- redhat-SADP CVSS 3.1: 9 `CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H`
- GitHub CVSS 4.0: 9.3 `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`

## Exploitation

- CISA KEV: not listed (no confirmed in-the-wild exploitation known to CISA).
- CISA SSVC assessment: exploitation none , automatable no , technical impact total .
- FIRST EPSS (model of 2026-10-21): 0.44% probability of exploitation activity in the next 30 days; percentile 37.

## Sources

- [access.redhat.com](https://access.redhat.com/errata/RHSA-2026:43038)
- [access.redhat.com](https://access.redhat.com/errata/RHSA-2026:60520)
- [GitHub Advisory GHSA-fcw5-x6j4-ccmp](https://github.com/advisories/GHSA-fcw5-x6j4-ccmp)
- [CVE.org record CVE-2026-44727](https://www.cve.org/CVERecord?id=CVE-2026-44727)
- [NVD entry CVE-2026-44727](https://nvd.nist.gov/vuln/detail/CVE-2026-44727)
- [github.com](https://github.com/jupyter-server/jupyter_server/security/advisories/GHSA-fcw5-x6j4-ccmp)
- [github.com](https://github.com/jupyter-server/jupyter_server/commit/6cbee8d65e71abac851c4492fea987ad080580bd)
- [access.redhat.com](https://access.redhat.com/security/cve/CVE-2026-44727)
- [RHBZ#2491516](https://bugzilla.redhat.com/show_bug.cgi?id=2491516)
- [security.access.redhat.com](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-44727.json)
- [github.com](https://github.com/jupyter-server/jupyter_server)
- [github.com](https://github.com/pypa/advisory-database/tree/main/vulns/jupyter-server/PYSEC-2026-366.yaml)
- [pypi.org](https://pypi.org/project/jupyter-server)

---
Source page: https://erroneo.us/security/cve/CVE-2026-44727/ · Security Digest: https://erroneo.us/security/ · More: https://erroneo.us/llms.txt
