CVE-2026-39377: jupyter nbconvert Path Traversal
Vulnerability summary
CVE-2026-39377 is a medium (CVSS 6.5) Path Traversal vulnerability in jupyter nbconvert. EPSS estimates a 0.40% chance of exploitation in the next 30 days, higher than 33% of scored vulnerabilities.
Advisory lineage
Upstream 0 · Downstream 1 · Related 2Timeline
- 21-04-2026PublishedVulnerability first disclosed.
- 21-04-2026Last modifiedVulnerability information updated.
Description
The nbconvert tool, jupyter nbconvert, converts Jupyter notebooks to various other formats via Jinja templates. Versions 6.5 through 7.17.0 allow arbitrary file writes to locations outside the intended output directory when processing notebooks containing crafted cell attachment filenames. The `ExtractAttachmentsPreprocessor` passes attachment filenames directly to the filesystem without sanitization, enabling path traversal attacks. This vulnerability provides complete control over both the destination path and file extension. Version 7.17.1 contains a patch.
CVSS metrics
7 scores · 7 sources · 1 version- OSV · PypiEcosystem advisory · calculated6.5MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N
- OSV · UbuntuEcosystem advisory · calculated6.5MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N
- OSV · DebianEcosystem advisory · calculated6.5MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N
- OSV · WolfiEcosystem advisory · calculated6.5MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N
- OSV · ChainguardEcosystem advisory · calculated6.5MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N
- NVDNIST6.5MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N
EPSS trend
Probability
0.40%
Chance of exploitation in the next 30 days
Percentile
33%
Versus all other CVEs
30-day change
+0.14 pp
From 0.27% on 20-09-2026
Known exploited
Compare KEV catalogsNot in any of the 3 tracked catalogs.
Public exploits
0 foundNo public exploits indexed.
Weaknesses
CWE · root cause- CWE-22Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')The product uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the product does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory.
- CWE-73External Control of File Name or PathThe product allows user input to control or influence paths or file names that are used in filesystem operations.
Affected systems
Chainguard4 products
- datahub-ingestion-fips< 1.5.0.1-r2
- kubeflow-pipelines-visualization-server< 2.16.0-r5
- tensorflow-cpu-jupyter< 2.21.0-r3
- tensorflow-gpu-jupyter< 2.21.0-r3
Debian1 product
- nbconvert< 7.16.6-1+deb13u1 | < 7.17.1-1
Jupyter1 product
- nbconvert≥ 6.5, < 7.17.1 | ≥ 6.5.0, < 7.17.1
PyPI1 product
- nbconvert≥ 6.5.0, < 7.17.1
Ubuntu1 product
- nbconvertAll versions (No fix recorded)
Wolfi1 product
- kubeflow-pipelines-visualization-server< 2.16.0-r5
6 vendors · 9 products
References
8 links- github.com/jupyter/nbconvert/security/advisories/GHSA-4c99-qj7h-p3vgX Refsource CONFIRMWEBAdvisoryREPORTMitigationVendor Advisory
- github.com/jupyter/nbconvertPACKAGE