CVE-2026-39378
nbconvert has an Arbitrary File Read via Path Traversal in HTMLExporter Image Embedding
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- Required
What an attacker can affect
- Confidentiality
- High
- Integrity
- None
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
6.5
nbconvert has an Arbitrary File Read via Path Traversal in HTMLExporter Image Embedding
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.
- Record
CVE-2026-39378- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N - Weakness
- CWE-22, CWE-73
- Updated
- 2026-11-02
EUVDEUVD-2026-24025
6.5
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.
- Record
EUVD-2026-24025- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-7jqv-fw35-gmx9
6.5
nbconvert has an Arbitrary File Read via Path Traversal in HTMLExporter Image Embedding
Summary
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.
Patches
Upgrade to nbconvert 7.17.1
Workarounds
Do not enable HTMLExporter.embed_images (it is not enabled by default).
- Record
GHSA-7jqv-fw35-gmx9- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N - Weakness
- CWE-22, CWE-23
- Updated
- 2026-11-02
NVD
6.5
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.
- Record
CVE-2026-39378- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N - Weakness
- CWE-22, CWE-73
- Updated
- 2026-11-02
OSV
6.5
nbconvert has an Arbitrary File Read via Path Traversal in HTMLExporter Image Embedding
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.
- Record
CVE-2026-39378- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N - Weakness
- CWE-22, CWE-73
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2026-39378
6.5
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.
- Record
DEBIAN-CVE-2026-39378- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
Show 7 moreShow less
OSVGHSA-7jqv-fw35-gmx9
6.5
nbconvert has an Arbitrary File Read via Path Traversal in HTMLExporter Image Embedding
Summary
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.
Patches
Upgrade to nbconvert 7.17.1
Workarounds
Do not enable HTMLExporter.embed_images (it is not enabled by default).
- Record
GHSA-7jqv-fw35-gmx9- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N - Weakness
- CWE-22, CWE-23
- Updated
- 2026-11-02
OSVOESA-2026-2195
6.5
python-nbconvert security update
The nbconvert tool, jupyter nbconvert, converts notebooks to various other formats via Jinja templates. The nbconvert tool allows you to convert an .ipynb notebook file into various static formats including HTML, LaTeX, PDF, Reveal JS, Markdown (md), ReStructured Text (rst) and executable script.
Security Fix(es):
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.(CVE-2026-39377)
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.(CVE-2026-39378)
- Record
OESA-2026-2195- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
OSVOESA-2026-2196
6.5
python-nbconvert security update
The nbconvert tool, jupyter nbconvert, converts notebooks to various other formats via Jinja templates. The nbconvert tool allows you to convert an .ipynb notebook file into various static formats including HTML, LaTeX, PDF, Reveal JS, Markdown (md), ReStructured Text (rst) and executable script.
Security Fix(es):
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.(CVE-2026-39377)
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.(CVE-2026-39378)
- Record
OESA-2026-2196- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
OSVOESA-2026-2215
6.5
python-nbconvert security update
The nbconvert tool, jupyter nbconvert, converts notebooks to various other formats via Jinja templates. The nbconvert tool allows you to convert an .ipynb notebook file into various static formats including HTML, LaTeX, PDF, Reveal JS, Markdown (md), ReStructured Text (rst) and executable script.
Security Fix(es):
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.(CVE-2026-39377)
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.(CVE-2026-39378)
- Record
OESA-2026-2215- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
OSVPYSEC-2026-2230
6.5
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.
- Record
PYSEC-2026-2230- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-39378
6.5
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.
- Record
UBUNTU-CVE-2026-39378- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
OSVopenSUSE-SU-2026:10603-1 No score
jupyter-nbconvert-7.17.1-1.1 on GA media
These are all security issues fixed in the jupyter-nbconvert-7.17.1-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:10603-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
nbconvertPyPI |
6.5.0 up to 7.17.1 | 7.17.1 |
nbconvertDebian:12 |
All versions, plus listed versions 6.5.3-36.5.3-46.5.3-57.16.4-17.16.4-2 Show 5 moreShow less7.16.5-17.16.6-17.17.0-17.17.1-17.17.1-2 |
None known |
nbconvertDebian:13 |
before 7.16.6-1+deb13u1, plus listed versions 7.16.6-1 |
7.16.6-1+deb13u1 |
nbconvertDebian:14 |
before 7.17.1-1, plus listed versions 7.16.6-17.17.0-1 |
7.17.1-1 |
nbconvertPyPI |
6.5.0 up to 7.17.1, plus listed versions 6.5.16.5.26.5.36.5.47.0.0 Show 45 moreShow less7.0.0rc07.0.0rc17.0.0rc27.0.0rc37.1.07.10.07.11.07.12.07.13.07.13.17.14.07.14.17.14.27.15.07.16.07.16.17.16.27.16.37.16.47.16.57.16.67.17.07.2.07.2.17.2.107.2.27.2.37.2.47.2.57.2.67.2.77.2.87.2.97.3.07.3.17.4.07.5.07.6.07.7.07.7.17.7.27.7.37.7.47.8.07.9.0 |
7.17.1 |
python-nbconvertopenEuler:24.03-LTS From an advisory covering 2 CVEs |
before 7.17.1-1.oe2403 | 7.17.1-1.oe2403 |
python-nbconvertopenEuler:24.03-LTS-SP3 From an advisory covering 2 CVEs |
before 7.17.1-1.oe2403sp3 | 7.17.1-1.oe2403sp3 |
python-nbconvertopenEuler:24.03-LTS-SP1 From an advisory covering 2 CVEs |
before 7.17.1-1.oe2403sp1 | 7.17.1-1.oe2403sp1 |
nbconvertUbuntu:18.04:LTS |
All versions, plus listed versions 4.2.0-45.3.1-1 |
None known |
nbconvertUbuntu:20.04:LTS |
All versions, plus listed versions 5.4-2ubuntu25.6.0-15.6.0-25.6.1-1 |
None known |
Show 6 moreShow less
| Package | Affected | Fixed |
|---|---|---|
nbconvertUbuntu:22.04:LTS |
All versions, plus listed versions 5.6.1-36.1.0-16.3.0-16.4.0-1 |
None known |
nbconvertUbuntu:24.04:LTS |
All versions, plus listed versions 6.5.3-46.5.3-5 |
None known |
nbconvertUbuntu:25.10 |
All versions, plus listed versions 7.16.6-1 |
None known |
nbconvertUbuntu:26.10 |
All versions, plus listed versions 7.17.0-17.17.1-2 |
None known |
nbconvertUbuntu:26.04:LTS |
All versions, plus listed versions 7.16.6-17.17.0-1 |
None known |
python-nbconvertopenSUSE:Tumbleweed From an advisory covering 3 CVEs |
before 7.17.1-1.1 | 7.17.1-1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-39378 is a medium vulnerability (CVSS 6.5) in Jupyter Nbconvert, published April 21, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.31%, the 23rd percentile. Fixed in nbconvert 7.17.1.
References
github.com/jupyter/nbconvert/security/advisories/GHSA-7jqv-fw35-gmx9
github.com/jupyter/nbconvert/releases/tag/v7.17.1
nvd.nist.gov/vuln/detail/CVE-2026-39378
github.com/advisories/GHSA-7jqv-fw35-gmx9
github.com/CVEProject/cvelistV5/tree/main/cves/2026/39xxx/CVE-2026-39378.json
security-tracker.debian.org/tracker/CVE-2026-39378
Show 10 moreShow less
github.com/jupyter/nbconvert
openeuler.org/zh/security/security-bulletins/detail?id=openEuler-SA-2026-2195
nvd.nist.gov/vuln/detail/CVE-2026-39377
openeuler.org/zh/security/security-bulletins/detail?id=openEuler-SA-2026-2196
openeuler.org/zh/security/security-bulletins/detail?id=openEuler-SA-2026-2215
ubuntu.com/security/CVE-2026-39378
cve.org/CVERecord?id=CVE-2026-39378
suse.com/security/cve/CVE-2025-53000
suse.com/security/cve/CVE-2026-39377
suse.com/security/cve/CVE-2026-39378
Left out here: 2 versions. The JSON record has them.