{"id":"CVE-2026-6658","aliases":["DEBIAN-CVE-2026-6658","EUVD-2026-39642","GHSA-9754-6rhw-gj3h","UBUNTU-CVE-2026-6658","openSUSE-SU-2026:11725-1"],"status":"published","title":"Cross-site Scripting (XSS) in jupyter/nbconvert","description":"A vulnerability in jupyter/nbconvert versions \u003c= 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 `\u003cpre\u003e` 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.","severity":{"version":"3.0","score":5.4,"vector":"CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-09","score":0.00161,"percentile":0.05287,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-79"],"published":"2026-06-26T09:40:30Z","modified":"2026-11-06T18:00:04Z","fixes":[{"ecosystem":"openSUSE:Tumbleweed","package":"python-nbconvert","fixed_in":["7.17.1-2.1"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"PyPI","package":"nbconvert","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"7.17.0"}]}]},{"source":"osv","ecosystem":"Debian:12","package":"nbconvert","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["6.5.3-3","6.5.3-4","6.5.3-5","7.16.4-1","7.16.4-2","7.16.5-1","7.16.6-1","7.17.0-1","7.17.1-1","7.17.1-2"]},{"source":"osv","ecosystem":"Debian:13","package":"nbconvert","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["7.16.6-1","7.16.6-1+deb13u1","7.17.0-1","7.17.1-1","7.17.1-2"]},{"source":"osv","ecosystem":"Debian:14","package":"nbconvert","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["7.16.6-1","7.17.0-1","7.17.1-1","7.17.1-2"]},{"source":"osv","ecosystem":"PyPI","package":"nbconvert","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"7.17.0"}]}],"versions":["0.0.0","4.0.0","4.1.0","4.2.0","4.3.0","5.0.0","5.0.0b1","5.1.0","5.1.1","5.2.1","5.3.0","5.3.1","5.4.0","5.4.1","5.4.1.dev0","5.5.0","5.6.0","5.6.1","6.0.0","6.0.0a0","6.0.0a1","6.0.0a2","6.0.0a3","6.0.0a4","6.0.0a5","6.0.0a6","6.0.0b7","6.0.0rc0","6.0.1","6.0.2","6.0.3","6.0.4","6.0.5","6.0.6","6.0.7","6.1.0","6.1.0rc0","6.1.1b0","6.2.0","6.2.0rc0","6.2.0rc1","6.2.0rc2","6.3.0","6.3.0b0","6.4.0","6.4.1","6.4.2","6.4.3","6.4.4","6.4.5","6.5.0","6.5.1","6.5.2","6.5.3","6.5.4","7.0.0","7.0.0rc0","7.0.0rc1","7.0.0rc2","7.0.0rc3","7.1.0","7.10.0","7.11.0","7.12.0","7.13.0","7.13.1","7.14.0","7.14.1","7.14.2","7.15.0","7.16.0","7.16.1","7.16.2","7.16.3","7.16.4","7.16.5","7.16.6","7.17.0","7.2.0","7.2.1","7.2.10","7.2.2","7.2.3","7.2.4","7.2.5","7.2.6","7.2.7","7.2.8","7.2.9","7.3.0","7.3.1","7.4.0","7.5.0","7.6.0","7.7.0","7.7.1","7.7.2","7.7.3","7.7.4","7.8.0","7.9.0","7.9.1","7.9.2"]},{"source":"osv","ecosystem":"Ubuntu:18.04:LTS","package":"nbconvert","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["4.2.0-4","5.3.1-1"]},{"source":"osv","ecosystem":"Ubuntu:20.04:LTS","package":"nbconvert","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["5.4-2ubuntu2","5.6.0-1","5.6.0-2","5.6.1-1"]},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"nbconvert","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["5.6.1-3","6.1.0-1","6.3.0-1","6.4.0-1"]},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"nbconvert","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["6.5.3-4","6.5.3-5"]},{"source":"osv","ecosystem":"Ubuntu:25.10","package":"nbconvert","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["7.16.6-1"]},{"source":"osv","ecosystem":"Ubuntu:26.10","package":"nbconvert","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["7.17.0-1","7.17.1-2"]},{"source":"osv","ecosystem":"Ubuntu:26.04:LTS","package":"nbconvert","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["7.16.6-1","7.17.0-1"]},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"python-nbconvert","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"7.17.1-2.1"}]}]}],"products":[{"vendor":"jupyter","product":"jupyter/jupyter"}],"references":[{"url":"https://huntr.com/bounties/47570290-3b26-4477-8cfa-fdef7db5aefe","tags":["exploit","web","report"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-6658","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-9754-6rhw-gj3h"},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-6658","tags":["advisory"]},{"url":"https://github.com/jupyter/nbconvert","tags":["package"]},{"url":"https://ubuntu.com/security/CVE-2026-6658","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-6658","tags":["report"]},{"url":"https://github.com/jupyter/nbconvert/pull/1957","tags":["report"]},{"url":"","tags":["advisory"]},{"url":"https://www.suse.com/security/cve/CVE-2026-6658","tags":["web"]}],"sources":{"cve":[{"id":"CVE-2026-6658","title":"Cross-site Scripting (XSS) in jupyter/nbconvert","description":"A vulnerability in jupyter/nbconvert versions \u003c= 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 `\u003cpre\u003e` 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.","status":"published","published":"2026-06-26T09:40:30.952Z","modified":"2026-06-26T10:19:12.444Z","cvss":[{"version":"3.0","score":5.4,"vector":"CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N","level":"medium","assessor":"cna"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T13:49:53.818886Z"}],"euvd":[{"id":"EUVD-2026-39642","description":"A vulnerability in jupyter/nbconvert versions \u003c= 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 `\u003cpre\u003e` 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.","status":"published","published":"2026-06-26T09:40:30Z","modified":"2026-06-26T10:19:12Z","cvss":[{"version":"3.0","score":5.4,"vector":"CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T18:20:24.957062Z"}],"ghsa":[{"id":"GHSA-9754-6rhw-gj3h","title":"jupyter/nbconvert allows Cross-site Scripting (XSS) via unsanitized `text/vnd.mermaid` output in HTML exports","description":"A vulnerability in jupyter/nbconvert versions \u003c= 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 `\u003cpre\u003e` 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.","status":"published","published":"2026-06-26T12:30:29Z","modified":"2026-11-06T17:50:16Z","cvss":[{"version":"3.0","score":5.4,"vector":"CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-79"],"updated_at":"2026-11-06T18:01:08.563082Z"}],"nvd":[{"id":"CVE-2026-6658","description":"A vulnerability in jupyter/nbconvert versions \u003c= 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 `\u003cpre\u003e` 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.","status":"published","published":"2026-06-26T10:16:22.81Z","modified":"2026-10-25T22:10:00.15Z","cvss":[{"version":"3.0","score":5.4,"vector":"CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N","level":"medium","assessor":"secondary"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:12:26.045561Z"}],"osv":[{"id":"DEBIAN-CVE-2026-6658","description":"A vulnerability in jupyter/nbconvert versions \u003c= 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 `\u003cpre\u003e` 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.","status":"published","published":"2026-06-26T10:16:22.81Z","modified":"2026-10-26T11:47:27.410170215Z","cvss":[{"version":"3.0","score":5.4,"vector":"CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T15:45:58.699079Z"},{"id":"GHSA-9754-6rhw-gj3h","title":"jupyter/nbconvert allows Cross-site Scripting (XSS) via unsanitized `text/vnd.mermaid` output in HTML exports","description":"A vulnerability in jupyter/nbconvert versions \u003c= 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 `\u003cpre\u003e` 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.","status":"published","published":"2026-06-26T12:30:29Z","modified":"2026-11-06T18:00:04.178054901Z","cvss":[{"version":"3.0","score":5.4,"vector":"CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-79"],"updated_at":"2026-11-06T18:35:17.269535Z"},{"id":"UBUNTU-CVE-2026-6658","description":"A vulnerability in jupyter/nbconvert versions \u003c= 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 `\u003cpre\u003e` 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.","status":"published","published":"2026-06-26T10:16:00Z","modified":"2026-10-17T13:00:35.171682108Z","cvss":[{"version":"3.0","score":5.4,"vector":"CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T16:56:53.710209Z"},{"id":"openSUSE-SU-2026:11725-1","title":"jupyter-nbconvert-7.17.1-2.1 on GA media","description":"These are all security issues fixed in the jupyter-nbconvert-7.17.1-2.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2026-09-08T00:00:00Z","modified":"2026-09-09T10:00:05.022795857Z","updated_at":"2026-11-02T16:58:39.516824Z"}]}}
