Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconCraft malicious notebook with path traversal in image ref
-
DeliveryDeliver notebook to target system
-
ExploitTarget user/system converts notebook with embed_images enabled
-
InstallParser resolves traversal path to sensitive file
-
C2nbconvert reads file from host system
-
ExecuteEncodes file as base64 data URI
-
ImpactEmbeds in output HTML
-
Step 8Attacker exfiltrates HTML to obtain sensitive data
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK
2 techniques across 2 tactics: Discovery, Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The HTMLExporter.embed_images option must be explicitly enabled in the nbconvert configuration. This is a non-default setting; the feature is disabled by default. A malicious or compromised Jupyter notebook must be provided to the conversion process. The notebook conversion process must be initiated by a user or automated system with read access to sensitive files on the host system. The attacker does not require authentication to nbconvert itself, and the attack succeeds against any version 6.5-7.17.0 when the above conditions are met. Exploitation is limited to confidentiality breach; the attacker cannot modify files or disrupt availability. The attack requires the attacker to craft a valid .ipynb notebook file and deliver it to a target system where conversion occurs. |
| Impact | CVSS 6.5 with vector AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N indicates a network-reachable attack requiring no privileges but with user interaction (notebook must be converted by the target), resulting in high confidentiality impact but no integrity or availability damage. The requirement for user interaction (UI:R) - someone must actively trigger notebook conversion - is a significant limiting factor that reduces real-world risk compared to the base CVSS score. However, in automated processing pipelines (e.g., JupyterHub with auto-conversion, CI/CD workflows converting notebooks), this interaction requirement may be automatically satisfied. The attack is unauthenticated (PR:N) and of low complexity (AC:L), making exploitation straightforward for any attacker who can deliver a malicious notebook. No EPSS score or KEV status was provided in the input data; absent these signals, exploitation probability cannot be quantified beyond CVSS assessment. The workaround (disabling HTMLExporter.embed_images by default) is already in place in default configurations, meaning only users who explicitly enable the feature face risk. This is a legitimate high-impact vulnerability for affected configurations, but the real-world attack surface is narrower than the CVSS score suggests due to the required user interaction and non-default feature enablement. |
| Exploit ScenarioDerived | An attacker crafts a malicious Jupyter notebook (.ipynb) containing image references with path traversal sequences (e.g., ). The notebook is shared with or uploaded to a system where a user runs nbconvert with HTMLExporter.embed_images enabled to convert it to HTML. During conversion, nbconvert processes the malicious image reference, resolves the traversal path, reads the sensitive file (/etc/passwd in this example), encodes it as base64, and embeds it as a data URI in the output HTML. The attacker can exfiltrate the HTML file or view the embedded content to obtain the sensitive data. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Apr 21, 2026
Jupyter nbconvert 6.5 through 7.17.0 allows unauthenticated remote attackers to read arbitrary files from the conversion host when HTMLExporter.embed_images is enabled, by embedding malicious image references with path traversal sequences in a crafted notebook. A malicious actor can exfiltrate sensitive files as base64-encoded data URIs in the output HTML, achieving confidentiality breach with no integrity or availability impact. Vendor-released patch: version 7.17.1.
RemediationAI
Upgrade to Jupyter nbconvert 7.17.1 or later, which contains the vendor-released fix for path traversal in image references. This is the primary remediation and should be prioritized. For organizations unable to immediately patch, disable the HTMLExporter.embed_images feature; since this feature is not enabled by default, verify your nbconvert configuration (typically in jupyter_nbconvert_config.py or equivalent) does not set c.HTMLExporter.embed_images = True. If notebooks must be converted with embedded images, restrict conversion to trusted notebooks only and perform conversion in an isolated environment (e.g., containerized or sandboxed) where sensitive files are not accessible. Implement file system access controls to limit the nbconvert process's read permissions to necessary directories only; this provides defense-in-depth but does not substitute for patching. Additional guidance is available at https://github.com/jupyter/nbconvert/releases/tag/v7.17.1.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in pypi
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
nbconvert is a Jupyter utility that converts notebook files (.ipynb) to multiple output formats (HTML, PDF, Markdown, etc.) using Jinja2 templating. When the HTMLExporter.embed_images feature is enabled, image references within notebooks are processed by the markdown renderer and embedded directly into the output HTML as base64 data URIs. The vulnerability exists in the path resolution logic within the markdown renderer: it does not properly validate or sanitize image file paths before attempting to read them from the file system. An attacker can craft image references using path traversal sequences (e.g., ../../../etc/passwd) to escape the intended notebook directory and access sensitive files anywhere on the conversion host. The root cause is insufficient input validation of file paths (CWE-22: Improper Limitation of a Pathname to a Restricted Directory). The affected product, identified by CPE cpe:2.3:a:jupyter:nbconvert:*:*:*:*:*:*:*:*, spans multiple versions; the vulnerability is present in all releases from 6.5 through 7.17.0.
Know when Nbconvert 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:N/UI:R/S:U/C:H/I:N/A:N
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
3DescriptionCVE.org
The nbconvert tool, jupyter nbconvert, converts Jupyter notebooks to various other formats via Jinja templates. In versions 6.5 through 7.17.0, when HTMLExporter.embed_images=True, nbconvert's markdown renderer allows arbitrary file read via path traversal in image references. A malicious notebook can exfiltrate sensitive files from the conversion host by embedding them as base64 data URIs in the output HTML. nbconvert 7.17.1 contains a fix. As a workaround, do not enable HTMLExporter.embed_images; it is not enabled by default.
Blast Radius
ecosystem impact- 14 pypi packages depend on nbconvert (13 direct, 1 indirect)
Ecosystem-wide dependent count for version 6.5.0.
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
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
Related Vulnerabilities in nbconvert Path Traversal Vulnerabilities
View all 2Same weakness CWE-22 – Path Traversal
View allSame technique Path Traversal
View allVendor StatusVendor
SUSE
Severity: Medium| Product | Status |
|---|---|
| openSUSE Tumbleweed | Fixed |
EUVD-2026-24025
GHSA-7jqv-fw35-gmx9
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB