Jupyter Server: Stored XSS in `NbconvertFileHandler` / `NbconvertPostHandler` via missing `sandbox` CSP
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- Active
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- Spoofing, Cross-site scripting
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA, GitHub and Red Hat. Impact type from CWE-1021 and CWE-79.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| jupyterlab | jupyter_server | before 2.20 | 2.20 | Patch available | CNA |
| — | jupyter-server (PyPI) | before 2.20.0 | 2.20.0 | Patch available | GHSA-fcw5-x6j4-ccmp |
- jupyter_server Vendorjupyterlab Affected before 2.20 Fixed in 2.20 Patch available CNA
- jupyter-server (PyPI) Vendor— Affected before 2.20.0 Fixed in 2.20.0 Patch available GHSA-fcw5-x6j4-ccmp
CPE configurations NVD · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:jupyter:jupyter_server:*:*:*:*:*:*:*:* | before 2.20.0 | Vulnerable | jupyterlab |
- cpe:2.3:a:jupyter:jupyter_server:*:*:*:*:*:*:*:* Versions before 2.20.0 Vulnerable ·jupyterlab
Remediation
- Fix · CNA jupyter_server (jupyter-server) Fixed in 2.20
- Fix · GHSA-fcw5-x6j4-ccmp jupyter-server (PyPI) Fixed in 2.20.0 Advisory →
Red Hat 3 advisories
- RHSA-2026:73987 Released 2026-09-30 · Red Hat rating CriticalRHOAI 3.3.7 - Red Hat OpenShift AI
- Red Hat OpenShift AI 3.3 registry.redhat.io/rhoai/odh-built-in-detector-rhel9, registry.redhat.io/rhoai/odh-dashboard-rhel9, registry.redhat.io/rhoai/odh-data-science-pipelines-argo-argoexec-rhel9 +47
- RHSA-2026:60520 Released 2026-08-27 · Red Hat rating CriticalRHOAI 3.4.4 - Red Hat OpenShift AI
- Red Hat OpenShift AI 3.4 registry.redhat.io/rhoai/odh-automl-rhel9, registry.redhat.io/rhoai/odh-autorag-rhel9, registry.redhat.io/rhoai/odh-built-in-detector-rhel9 +47
- RHSA-2026:43038 Released 2026-07-21 · Red Hat rating CriticalMigration Toolkit for Applications
- Red Hat Migration Toolkit for Applications 8.2 registry.redhat.io/mta/mta-cli-rhel9, registry.redhat.io/mta/mta-solution-server-rhel9
Vendor assessments
Red Hat
Red Hat rating: Important. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Migration Toolkit for Applications 8.2 | Fixed | RHSA-2026:43038 |
| Red Hat OpenShift AI 3.3 | Fixed | RHSA-2026:73987 |
| Red Hat OpenShift AI 3.4 | Fixed | RHSA-2026:60520 |
Not affected: 4 products
- Red Hat Migration Toolkit for Applications 8.2
- Red Hat OpenShift AI (RHOAI)
- Red Hat OpenShift AI 3.3
- Red Hat OpenShift AI 3.4
Timeline
- 2026-10-02 Threatist record created from CVE-2026-44727
- 2026-10-03 Alias added: GHSA-fcw5-x6j4-ccmp
- 2026-10-07 Fix available: RHSA-2026:73987 · Red Hat
References
Patch 2
Advisory 2
Other 8
- https://access.redhat.com/errata/RHSA-2026:43038
- https://access.redhat.com/errata/RHSA-2026:60520
- https://access.redhat.com/security/cve/CVE-2026-44727
- https://bugzilla.redhat.com/show_bug.cgi?id=2491516
- https://github.com/jupyter-server/jupyter_server
- https://github.com/pypa/advisory-database/tree/main/vulns/jupyter-server/PYSEC-2026-366.yaml
- https://pypi.org/project/jupyter-server
- https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-44727.json
More jupyterlab Jupyter Server vulnerabilities
- TI-2026-05842 CORS Origin Validation Bypass in jupyter-server CVSS 3.1HIGH 8.8
- TI-2026-04748 Path Traversal in jupyter/jupyter CVSS 3.1HIGH 8.1
- TI-2026-27533 jupyter-server path traversal allows access to sibling directories sharing root_dir name prefix CVSS 4.0HIGH 7.6
- TI-2025-38102 jupyter_server next parameter open redirect can redirect users to external domains CVSS 4.0MEDIUM 6.3
- TI-2024-23252 Jupyter server on Windows discloses Windows user password hash CVSS 3.1HIGH 7.5
- TI-2022-11782 Known or guessable hidden files may be accessed in Jupyter Server CVSS 3.1HIGH 8.8
Sources
- CVE-2026-44727 · CVE Program
- CVE-2026-44727 · NVD
- FIRST EPSS
- GHSA-fcw5-x6j4-ccmp · GitHub Advisory Database · CC BY 4.0
- CVE-2026-44727 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences