{"schemaVersion":3,"id":"CVE-2026-39378","aliases":["GHSA-7jqv-fw35-gmx9","PYSEC-2026-2230","UBUNTU-CVE-2026-39378","DEBIAN-CVE-2026-39378","CGA-fx2g-m6qq-qrgv","CGA-29mc-5m2g-qc3v","CGA-5c6j-2xmx-v3h4","CGA-947q-h46w-c6jq","CGA-r7xw-w65p-f2rh"],"status":"published","duplicateOf":null,"title":null,"description":"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.","dates":{"published":"2026-04-21T00:17:00.684Z","modified":"2026-04-21T13:43:29.081Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":6.5,"severity":"medium","version":"3.1","versionLabel":"v3.1","source":"CVE.org","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":6.5,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Pypi","score":6.5,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N","exploitability":7.2,"impact":6,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Ubuntu","score":6.5,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N","exploitability":7.2,"impact":6,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Debian","score":6.5,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N","exploitability":7.2,"impact":6,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Wolfi","score":6.5,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N","exploitability":7.2,"impact":6,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Chainguard","score":6.5,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N","exploitability":7.2,"impact":6,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":6.5,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00457,"percentile":0.38591,"severity":"low","asOf":"2026-10-21T00:00:00.000Z","change":{"pp":0.15100000000000005,"baselineDate":"2026-09-21T00:00:00.000Z","baselineScore":0.00306},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.00306,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.00306,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.00306,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.00306,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.00306,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.00306,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.00306,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00306,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00306,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00306,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-10-21T00:00:00.000Z","score":0.00457,"percentile":0.38591}],"last30":[{"date":"2026-09-21T00:00:00.000Z","score":0.00306,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00306,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00306,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-10-21T00:00:00.000Z","score":0.00457,"percentile":0.38591}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[],"exploitCount":0,"weaknesses":[{"id":"CWE-22","name":"Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')","description":"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.","type":"weakness","status":"Stable","abstraction":"Base","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/22.html"},{"id":"CWE-73","name":"External Control of File Name or Path","description":"The product allows user input to control or influence paths or file names that are used in filesystem operations.","type":"weakness","status":"Draft","abstraction":"Base","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/73.html"}],"affected":[{"vendor":"chainguard","product":"datahub-ingestion-fips","name":"datahub-ingestion-fips","label":"datahub-ingestion-fips","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/datahub-ingestion-fips","purlType":"apk","versions":[{"text":"< 1.5.0.1-r2","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 1.5.0.1-r2","eol":null,"hubHref":null},{"vendor":"chainguard","product":"kubeflow-pipelines-visualization-server","name":"kubeflow-pipelines-visualization-server","label":"kubeflow-pipelines-visualization-server","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/kubeflow-pipelines-visualization-server","purlType":"apk","versions":[{"text":"< 2.16.0-r5","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 2.16.0-r5","eol":null,"hubHref":null},{"vendor":"chainguard","product":"tensorflow-cpu-jupyter","name":"tensorflow-cpu-jupyter","label":"tensorflow-cpu-jupyter","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/tensorflow-cpu-jupyter","purlType":"apk","versions":[{"text":"< 2.21.0-r3","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 2.21.0-r3","eol":null,"hubHref":null},{"vendor":"chainguard","product":"tensorflow-gpu-jupyter","name":"tensorflow-gpu-jupyter","label":"tensorflow-gpu-jupyter","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/tensorflow-gpu-jupyter","purlType":"apk","versions":[{"text":"< 2.21.0-r3","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 2.21.0-r3","eol":null,"hubHref":null},{"vendor":"wolfi","product":"kubeflow-pipelines-visualization-server","name":"kubeflow-pipelines-visualization-server","label":"kubeflow-pipelines-visualization-server","ecosystem":"Wolfi","cpePart":null,"purl":"pkg:apk/wolfi/kubeflow-pipelines-visualization-server","purlType":"apk","versions":[{"text":"< 2.16.0-r5","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 2.16.0-r5","eol":null,"hubHref":null},{"vendor":"debian","product":"nbconvert","name":"nbconvert","label":"nbconvert","ecosystem":"Debian","cpePart":null,"purl":"pkg:deb/debian/nbconvert","purlType":"deb","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null},{"text":"< 7.16.6-1+deb13u1","noFixRecorded":false,"fixedIn":null},{"text":"< 7.17.1-1","noFixRecorded":false,"fixedIn":null}],"versionsText":"All versions (No fix recorded) | < 7.16.6-1+deb13u1 | < 7.17.1-1","eol":null,"hubHref":null},{"vendor":"ubuntu","product":"nbconvert","name":"nbconvert","label":"nbconvert","ecosystem":"Ubuntu","cpePart":null,"purl":"pkg:deb/ubuntu/nbconvert","purlType":"deb","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null}],"versionsText":"All versions (No fix recorded)","eol":null,"hubHref":null},{"vendor":"jupyter","product":"nbconvert","name":"nbconvert","label":"nbconvert","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≥ 6.5, < 7.17.1","noFixRecorded":false,"fixedIn":null},{"text":"≥ 6.5.0, < 7.17.1","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ 6.5, < 7.17.1 | ≥ 6.5.0, < 7.17.1","eol":null,"hubHref":"/vendor/jupyter/nbconvert"},{"vendor":"PyPI","product":"nbconvert","name":"nbconvert","label":"nbconvert","ecosystem":"PyPI","cpePart":null,"purl":"pkg:pypi/nbconvert","purlType":"pypi","versions":[{"text":"≥ 6.5.0, < 7.17.1","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ 6.5.0, < 7.17.1","eol":null,"hubHref":null}],"affectedCount":9,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://github.com/jupyter/nbconvert/security/advisories/GHSA-7jqv-fw35-gmx9","label":"github.com/jupyter/nbconvert/security/advisories/GHSA-7jqv-fw35-gmx9","hostname":"github.com","tags":["X Refsource CONFIRM","WEB","Advisory","REPORT","Mitigation","Vendor Advisory"]},{"url":"https://github.com/jupyter/nbconvert/releases/tag/v7.17.1","label":"github.com/jupyter/nbconvert/releases/tag/v7.17.1","hostname":"github.com","tags":["X Refsource MISC","WEB","Product"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-39378","label":"nvd.nist.gov/vuln/detail/CVE-2026-39378","hostname":"nvd.nist.gov","tags":["Advisory"]},{"url":"https://github.com/jupyter/nbconvert","label":"github.com/jupyter/nbconvert","hostname":"github.com","tags":["PACKAGE"]},{"url":"https://ubuntu.com/security/CVE-2026-39378","label":"ubuntu.com/security/CVE-2026-39378","hostname":"ubuntu.com","tags":["REPORT"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-39378","label":"www.cve.org/CVERecord?id=CVE-2026-39378","hostname":"www.cve.org","tags":["REPORT"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-39378","label":"security-tracker.debian.org/tracker/CVE-2026-39378","hostname":"security-tracker.debian.org","tags":["Advisory"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/39xxx/CVE-2026-39378.json","label":"github.com/CVEProject/cvelistV5/tree/main/cves/2026/39xxx/CVE-2026-39378.json","hostname":"github.com","tags":["Advisory"]}],"lineage":{"upstream":[],"downstream":["OPENSUSE-SU-2026:10603-1"],"duplicates":[],"related":["CGA-H45F-R3Q7-H5QP","OPENSUSE-SU-2026:10603-1"]},"timeline":[{"kind":"published","date":"2026-04-21T00:17:00.684Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-04-21T13:43:29.081Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":26,"level":"medium","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-21T18:30:56.827Z","stale":false,"partial":false}}