Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain low-privilege notebook write access
-
DeliveryCraft malicious text/vnd.mermaid cell output with tag-breakout payload
-
ExploitNotebook exported to HTML via nbconvert
-
ExecutionVictim opens HTML export in browser
-
PersistInjected JavaScript executes in victim's browser context
-
ImpactExfiltrate session tokens or perform actions as victim
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires two concrete conditions: first, the attacker must have low-privilege write access to a Jupyter notebook - sufficient to set a cell's output MIME type to |
| Impact | The CVSS 3.0 base score of 5.4 (Medium) with vector AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N reflects a stored-XSS pattern that is exploitable at low complexity but requires two preconditions: the attacker must hold low-privilege access to author or modify a notebook (PR:L), and a victim must actively render and view the HTML export (UI:R). The Scope:Changed metric correctly captures that the impact crosses from the conversion environment into the victim's browser session, enabling session theft, credential phishing, or pivot to other browser-accessible services. No EPSS score was provided in the input data, so exploitation probability cannot be quantified numerically. The vulnerability is not in the CISA KEV catalog and no POC code is referenced. Real-world risk is highest in shared JupyterHub or organizational notebook-publishing workflows where users trust internally generated HTML exports - threat actors who already have notebook-write access (e.g., compromised researcher accounts, malicious insiders) could silently weaponize an export pipeline to harvest session tokens from administrators who preview notebooks. |
| Exploit ScenarioDerived | An attacker with contributor access to a shared JupyterHub instance authors a notebook cell with |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 26, 2026
Cross-site scripting in jupyter/nbconvert versions 7.17.0 and earlier allows any user with notebook write access to inject and execute arbitrary JavaScript in the browsers of users who view HTML-exported notebooks. The flaw stems from the data_mermaid rendering block in share/templates/lab/base.html.j2, which outputs text/vnd.mermaid cell content directly into HTML without escaping, enabling tag breakout from the enclosing <pre> element. No public exploit code has been identified at time of analysis, and this vulnerability is not listed in the CISA KEV catalog; however, the stored-XSS pattern means any user who views a maliciously crafted HTML export is at risk.
RemediationAI
Upgrade jupyter/nbconvert to any version released after 7.17.0 once a patched release is available; no exact fix version has been confirmed from the available references, so monitor the nbconvert PyPI release page and the Huntr advisory at https://huntr.com/bounties/47570290-3b26-4477-8cfa-fdef7db5aefe for the confirmed patch release. Until a patch is available, the most direct compensating control is to disable or strip text/vnd.mermaid MIME-type outputs from notebooks before conversion - this can be done via a custom nbconvert preprocessor or by scrubbing the notebook JSON with a pre-export script, though this will break legitimate Mermaid diagram rendering. Alternatively, serve HTML exports only from a sandboxed origin with a strict Content Security Policy (script-src 'none' or nonce-based) to neutralize injected scripts without affecting the page layout. Restricting HTML export generation to trusted notebook authors and educating users not to open HTML exports from untrusted sources are additional layered controls. Note that disabling Mermaid rendering entirely affects legitimate diagramming use cases.
Affected VersionsENISA
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
nbconvert is the Jupyter ecosystem's primary notebook-to-HTML (and other format) conversion tool, used extensively in JupyterHub deployments, CI pipelines, and documentation publishing workflows. The vulnerability lies in the Jinja2 template share/templates/lab/base.html.j2, which contains a data_mermaid block responsible for rendering cell outputs of MIME type text/vnd.mermaid - a diagramming format supported in modern Jupyter Lab. Because the template emits this content inside a <pre> tag without applying HTML entity encoding or a Content Security Policy sanitization step, an attacker-controlled Mermaid payload such as </pre><script>...</script> trivially escapes the tag context. The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation), specifically the stored variant: the malicious payload is baked into the exported HTML file at conversion time and fires for every subsequent viewer. The CPE provided is cpe:2.3:a:jupyter:jupyter/jupyter:*:*:*:*:*:*:*:*; the canonical package is jupyter/nbconvert on PyPI.
Know when Jupyter gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
PR:L reflects required notebook write access; UI:R reflects victim must view HTML export; S:C captures cross-browser-session impact; no availability impact applies.
Primary rating from Vendor (huntr_ai).
CVSS VectorVendor: huntr_ai
DescriptionCVE.org
A vulnerability in jupyter/nbconvert versions <= 7.17.0 allows for Cross-site Scripting (XSS) via unsanitized text/vnd.mermaid output in HTML exports. The data_mermaid block in share/templates/lab/base.html.j2 renders text/vnd.mermaid cell output directly into HTML without escaping, enabling attackers to inject arbitrary HTML/JavaScript by breaking out of the <pre> tag. This vulnerability impacts any server using nbconvert to render notebooks as HTML, allowing attackers to execute arbitrary JavaScript in the context of users viewing the HTML export.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
JupyterLab extension template is a `copier` template for JupyterLab extensions. Rated critical severity (CVSS 9.8), this
The Jupyter notebook is a web-based notebook environment for interactive computing. Rated critical severity (CVSS 9.6),
JupyterLab is a user interface for Project Jupyter which will eventually replace the classic Jupyter Notebook. Rated cri
Path traversal in Jupyter nbviewer through version 1.0.1 allows unauthenticated remote attackers to read files from sibl
The Jupyter Server provides the backend (i.e. Rated medium severity (CVSS 6.1), this vulnerability is remotely exploitab
In Jupyter Notebook before 5.7.8, an open redirect can occur via an empty netloc. Rated medium severity (CVSS 6.1), this
Unauthenticated remote command execution is possible in MLJAR Mercury 3.0.0 through 3.2.3 because a missing comma in the
`jupyterhub-ltiauthenticator` is a JupyterHub authenticator for learning tools interoperability (LTI). Rated critical se
Jupyter Server Proxy allows users to run arbitrary external processes alongside their Jupyter notebook servers and provi
jupyter-lsp is a coding assistance tool for JupyterLab (code navigation + hover suggestions + linters + autocompletion +
Visual Studio Code Jupyter Extension Spoofing Vulnerability. Rated critical severity (CVSS 9.8), this vulnerability is r
BinderHub is a kubernetes-based cloud service that allows users to share reproducible interactive computing environments
EUVD-2026-39642
GHSA-9754-6rhw-gj3h
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB