{"id":"CVE-2024-22420","aliases":["BIT-jupyter-base-notebook-2024-22420","BIT-jupyter-notebook-2024-22420","BIT-jupyterlab-2024-22420","DEBIAN-CVE-2024-22420","EUVD-2024-0248","GHSA-4m77-cmpx-vjc4","OESA-2025-1239","OESA-2025-1240","PYSEC-2026-1707","PYSEC-2026-2535","openSUSE-SU-2024:13605-1","openSUSE-SU-2024:13606-1"],"status":"published","title":"Stored cross site scripting in Markdown Preview in JupyterLab","description":"JupyterLab is an extensible environment for interactive and reproducible computing, based on the Jupyter Notebook and Architecture. This vulnerability depends on user interaction by opening a malicious Markdown file using JupyterLab preview feature. A malicious user can access any data that the attacked user has access to as well as perform arbitrary requests acting as the attacked user. JupyterLab version 4.0.11 has been patched. Users are advised to upgrade. Users unable to upgrade should disable the table of contents extension.","severity":{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-11","score":0.00573,"percentile":0.4778,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-79"],"published":"2024-01-19T20:24:09Z","modified":"2026-11-05T21:30:25Z","fixes":[{"ecosystem":"PyPI","package":"jupyterlab","fixed_in":["4.0.11"],"sources":["ghsa","osv"]},{"ecosystem":"PyPI","package":"notebook","fixed_in":["7.0.7"],"sources":["ghsa","osv"]},{"ecosystem":"Bitnami","package":"jupyter-notebook","fixed_in":["7.0.7"],"sources":["osv"]},{"ecosystem":"Bitnami","package":"jupyterlab","fixed_in":["4.2.4"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"jupyterlab","fixed_in":["4.0.11+ds1-1"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"jupyterlab","fixed_in":["4.0.11+ds1-1"],"sources":["osv"]},{"ecosystem":"openEuler:24.03-LTS","package":"python-jupyterlab","fixed_in":["4.3.5-1.oe2403"],"sources":["osv"]},{"ecosystem":"openEuler:24.03-LTS-SP1","package":"python-jupyterlab","fixed_in":["4.3.5-1.oe2403sp1"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"PyPI","package":"jupyterlab","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.0.0"},{"last_affected":"4.0.10"},{"fixed":"4.0.11"}]}]},{"source":"ghsa","ecosystem":"PyPI","package":"notebook","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"7.0.0"},{"last_affected":"7.0.6"},{"fixed":"7.0.7"}]}]},{"source":"osv","ecosystem":"Bitnami","package":"jupyter-base-notebook","ranges":[{"type":"SEMVER","events":[{"introduced":"7.0.0"}]}]},{"source":"osv","ecosystem":"Bitnami","package":"jupyter-notebook","ranges":[{"type":"SEMVER","events":[{"introduced":"7.0.0"},{"fixed":"7.0.7"}]}]},{"source":"osv","ecosystem":"Bitnami","package":"jupyterlab","ranges":[{"type":"SEMVER","events":[{"introduced":"4.0.0"},{"fixed":"4.2.4"}]}]},{"source":"osv","ecosystem":"Debian:13","package":"jupyterlab","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.0.11+ds1-1"}]}]},{"source":"osv","ecosystem":"Debian:14","package":"jupyterlab","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.0.11+ds1-1"}]}]},{"source":"osv","ecosystem":"PyPI","package":"jupyterlab","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.0.0"},{"fixed":"4.0.11"}]}],"versions":["4.0.0","4.0.1","4.0.10","4.0.2","4.0.3","4.0.4","4.0.5","4.0.6","4.0.7","4.0.8","4.0.9"]},{"source":"osv","ecosystem":"PyPI","package":"notebook","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"7.0.0"},{"fixed":"7.0.7"}]}],"versions":["7.0.0","7.0.1","7.0.2","7.0.3","7.0.4","7.0.5","7.0.6"]},{"source":"osv","ecosystem":"openEuler:24.03-LTS","package":"python-jupyterlab","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.3.5-1.oe2403"}]}]},{"source":"osv","ecosystem":"openEuler:24.03-LTS-SP1","package":"python-jupyterlab","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.3.5-1.oe2403sp1"}]}]},{"source":"osv","ecosystem":"PyPI","package":"notebook","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"7.0.0"},{"fixed":"7.0.7"}]}],"versions":["7.0.0","7.0.1","7.0.2","7.0.3","7.0.4","7.0.5","7.0.6"]},{"source":"osv","ecosystem":"PyPI","package":"jupyterlab","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.0.0"},{"fixed":"4.0.11"}]}],"versions":["4.0.0","4.0.1","4.0.10","4.0.2","4.0.3","4.0.4","4.0.5","4.0.6","4.0.7","4.0.8","4.0.9"]}],"products":[{"vendor":"fedoraproject","product":"fedora"},{"vendor":"jupyter","product":"jupyterlab"},{"vendor":"jupyter","product":"notebook"},{"vendor":"jupyterlab","product":"jupyterlab"}],"references":[{"url":"https://github.com/jupyterlab/jupyterlab/security/advisories/GHSA-4m77-cmpx-vjc4","tags":["x_refsource_CONFIRM","x_transferred","Vendor Advisory","advisory","web"]},{"url":"https://github.com/jupyterlab/jupyterlab/commit/e1b3aabab603878e46add445a3114e838411d2df","tags":["x_refsource_MISC","x_transferred","Patch","fix","web"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/UQJKNRDRFMKGVRIYNNN6CKMNJDNYWO2H/","tags":["x_transferred","Mailing List","Third Party Advisory","advisory","web"]},{"url":"https://github.com/jupyterlab/jupyterlab/commit/dda0033cd49449572d077bbecd33b18d8d05f48a","tags":["web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2024-22420","tags":["web","advisory"]},{"url":"https://github.com/advisories/GHSA-4m77-cmpx-vjc4","tags":["advisory"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/22xxx/CVE-2024-22420.json","tags":["advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2024-22420","tags":["advisory"]},{"url":"https://github.com/jupyterlab/jupyterlab","tags":["package"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/UQJKNRDRFMKGVRIYNNN6CKMNJDNYWO2H","tags":["web"]},{"url":"https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2025-1239","tags":["advisory"]},{"url":"https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2025-1240","tags":["advisory"]},{"url":"https://pypi.org/project/notebook","tags":["package"]},{"url":"https://pypi.org/project/jupyterlab","tags":["package"]},{"url":"","tags":["advisory"]},{"url":"https://www.suse.com/security/cve/CVE-2024-22420","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2024-22421","tags":["web"]}],"sources":{"cve":[{"id":"CVE-2024-22420","title":"Stored cross site scripting in Markdown Preview in JupyterLab","description":"JupyterLab is an extensible environment for interactive and reproducible computing, based on the Jupyter Notebook and Architecture. This vulnerability depends on user interaction by opening a malicious Markdown file using JupyterLab preview feature. A malicious user can access any data that the attacked user has access to as well as perform arbitrary requests acting as the attacked user. JupyterLab version 4.0.11 has been patched. Users are advised to upgrade. Users unable to upgrade should disable the table of contents extension.","status":"published","published":"2024-01-19T20:49:09.933Z","modified":"2025-05-30T14:25:05.056Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N","level":"medium","assessor":"cna"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:33:59.884489Z"}],"euvd":[{"id":"EUVD-2024-0248","description":"JupyterLab is an extensible environment for interactive and reproducible computing, based on the Jupyter Notebook and Architecture. This vulnerability depends on user interaction by opening a malicious Markdown file using JupyterLab preview feature. A malicious user can access any data that the attacked user has access to as well as perform arbitrary requests acting as the attacked user. JupyterLab version 4.0.11 has been patched. Users are advised to upgrade. Users unable to upgrade should disable the table of contents extension.","status":"published","published":"2024-01-19T20:49:09Z","modified":"2025-05-30T14:25:05Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N","level":"medium"}],"updated_at":"2026-11-02T20:32:34.547192Z"}],"ghsa":[{"id":"GHSA-4m77-cmpx-vjc4","title":"JupyterLab vulnerable to SXSS in Markdown Preview","description":"### Impact\n\nThe vulnerability depends on user interaction by opening a malicious notebook with Markdown cells, or Markdown file using JupyterLab preview feature.\n\nA malicious user can access any data that the attacked user has access to as well as perform arbitrary requests acting as the attacked user.\n\n### Patches\n\nJupyterLab v4.0.11 was patched.\n\n### Workarounds\n\nUsers can either disable the table of contents extension by running:\n\n```bash\njupyter labextension disable @jupyterlab/toc-extension:registry\n```\n\n### References\n\nVulnerability reported via the [bug bounty program](https://app.intigriti.com/programs/jupyter/jupyter/detail) [sponsored by the European Commission](https://commission.europa.eu/news/european-commissions-open-source-programme-office-starts-bug-bounties-2022-01-19_en) and hosted on the [Intigriti platform](https://www.intigriti.com/).\n","status":"published","published":"2024-01-19T20:24:09Z","modified":"2024-02-10T05:08:22Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N","level":"medium"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:37:37.394986Z"}],"nvd":[{"id":"CVE-2024-22420","description":"JupyterLab is an extensible environment for interactive and reproducible computing, based on the Jupyter Notebook and Architecture. This vulnerability depends on user interaction by opening a malicious Markdown file using JupyterLab preview feature. A malicious user can access any data that the attacked user has access to as well as perform arbitrary requests acting as the attacked user. JupyterLab version 4.0.11 has been patched. Users are advised to upgrade. Users unable to upgrade should disable the table of contents extension.","status":"published","published":"2024-01-19T21:15:09.667Z","modified":"2026-06-17T07:11:22.627Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N","level":"medium","assessor":"secondary"},{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:09:32.147098Z"}],"osv":[{"id":"CVE-2024-22420","title":"Stored cross site scripting in Markdown Preview in JupyterLab","description":"JupyterLab is an extensible environment for interactive and reproducible computing, based on the Jupyter Notebook and Architecture. This vulnerability depends on user interaction by opening a malicious Markdown file using JupyterLab preview feature. A malicious user can access any data that the attacked user has access to as well as perform arbitrary requests acting as the attacked user. JupyterLab version 4.0.11 has been patched. Users are advised to upgrade. Users unable to upgrade should disable the table of contents extension.","status":"published","published":"2024-01-19T20:49:09.933Z","modified":"2026-11-11T10:30:58.88697871Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N","level":"medium"}],"cwes":["CWE-79"],"updated_at":"2026-11-11T11:06:27.686945Z"},{"id":"DEBIAN-CVE-2024-22420","description":"JupyterLab is an extensible environment for interactive and reproducible computing, based on the Jupyter Notebook and Architecture. This vulnerability depends on user interaction by opening a malicious Markdown file using JupyterLab preview feature. A malicious user can access any data that the attacked user has access to as well as perform arbitrary requests acting as the attacked user. JupyterLab version 4.0.11 has been patched. Users are advised to upgrade. Users unable to upgrade should disable the table of contents extension.","status":"published","published":"2024-01-19T21:15:09.667Z","modified":"2026-11-02T12:00:33.255891097Z","cvss":[{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T15:45:41.849198Z"},{"id":"GHSA-4m77-cmpx-vjc4","title":"JupyterLab vulnerable to SXSS in Markdown Preview","description":"### Impact\n\nThe vulnerability depends on user interaction by opening a malicious notebook with Markdown cells, or Markdown file using JupyterLab preview feature.\n\nA malicious user can access any data that the attacked user has access to as well as perform arbitrary requests acting as the attacked user.\n\n### Patches\n\nJupyterLab v4.0.11 was patched.\n\n### Workarounds\n\nUsers can either disable the table of contents extension by running:\n\n```bash\njupyter labextension disable @jupyterlab/toc-extension:registry\n```\n\n### References\n\nVulnerability reported via the [bug bounty program](https://app.intigriti.com/programs/jupyter/jupyter/detail) [sponsored by the European Commission](https://commission.europa.eu/news/european-commissions-open-source-programme-office-starts-bug-bounties-2022-01-19_en) and hosted on the [Intigriti platform](https://www.intigriti.com/).\n","status":"published","published":"2024-01-19T20:24:09Z","modified":"2026-09-10T03:50:04.77166865Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N","level":"medium"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T15:46:37.148947Z"},{"id":"OESA-2025-1239","title":"python-jupyterlab security update","description":"JupyterLab is the next-generation user interface for Project Jupyter offering all the familiar building blocks of the classic Jupyter Notebook (notebook, terminal, text editor, file browser, rich outputs, etc.) in a flexible and powerful user interface.\r\n\r\nSecurity Fix(es):\n\nJupyterLab is an extensible environment for interactive and reproducible computing, based on the Jupyter Notebook and Architecture. This vulnerability depends on user interaction by opening a malicious Markdown file using JupyterLab preview feature. A malicious user can access any data that the attacked user has access to as well as perform arbitrary requests acting as the attacked user. JupyterLab version 4.0.11 has been patched. Users are advised to upgrade. Users unable to upgrade should disable the table of contents extension.(CVE-2024-22420)","status":"published","published":"2025-03-07T11:08:20Z","modified":"2026-08-18T01:18:48.241580381Z","cvss":[{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T15:52:42.714349Z"},{"id":"OESA-2025-1240","title":"python-jupyterlab security update","description":"JupyterLab is the next-generation user interface for Project Jupyter offering all the familiar building blocks of the classic Jupyter Notebook (notebook, terminal, text editor, file browser, rich outputs, etc.) in a flexible and powerful user interface.\r\n\r\nSecurity Fix(es):\n\nJupyterLab is an extensible environment for interactive and reproducible computing, based on the Jupyter Notebook and Architecture. This vulnerability depends on user interaction by opening a malicious Markdown file using JupyterLab preview feature. A malicious user can access any data that the attacked user has access to as well as perform arbitrary requests acting as the attacked user. JupyterLab version 4.0.11 has been patched. Users are advised to upgrade. Users unable to upgrade should disable the table of contents extension.(CVE-2024-22420)","status":"published","published":"2025-03-07T11:08:20Z","modified":"2026-08-18T01:18:48.295547239Z","cvss":[{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T15:52:42.714349Z"},{"id":"PYSEC-2026-1707","title":"JupyterLab vulnerable to SXSS in Markdown Preview","description":"### Impact\n\nThe vulnerability depends on user interaction by opening a malicious notebook with Markdown cells, or Markdown file using JupyterLab preview feature.\n\nA malicious user can access any data that the attacked user has access to as well as perform arbitrary requests acting as the attacked user.\n\n### Patches\n\nJupyterLab v4.0.11 was patched.\n\n### Workarounds\n\nUsers can either disable the table of contents extension by running:\n\n```bash\njupyter labextension disable @jupyterlab/toc-extension:registry\n```\n\n### References\n\nVulnerability reported via the [bug bounty program](https://app.intigriti.com/programs/jupyter/jupyter/detail) [sponsored by the European Commission](https://commission.europa.eu/news/european-commissions-open-source-programme-office-starts-bug-bounties-2022-01-19_en) and hosted on the [Intigriti platform](https://www.intigriti.com/).\n","status":"published","published":"2026-07-07T11:45:30.80445Z","modified":"2026-07-13T16:43:39.178881124Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N","level":"medium"}],"updated_at":"2026-11-02T15:52:55.06457Z"},{"id":"PYSEC-2026-2535","title":"JupyterLab vulnerable to SXSS in Markdown Preview","description":"### Impact\n\nThe vulnerability depends on user interaction by opening a malicious notebook with Markdown cells, or Markdown file using JupyterLab preview feature.\n\nA malicious user can access any data that the attacked user has access to as well as perform arbitrary requests acting as the attacked user.\n\n### Patches\n\nJupyterLab v4.0.11 was patched.\n\n### Workarounds\n\nUsers can either disable the table of contents extension by running:\n\n```bash\njupyter labextension disable @jupyterlab/toc-extension:registry\n```\n\n### References\n\nVulnerability reported via the [bug bounty program](https://app.intigriti.com/programs/jupyter/jupyter/detail) [sponsored by the European Commission](https://commission.europa.eu/news/european-commissions-open-source-programme-office-starts-bug-bounties-2022-01-19_en) and hosted on the [Intigriti platform](https://www.intigriti.com/).\n","status":"published","published":"2026-07-13T14:20:02.558089Z","modified":"2026-07-13T16:43:39.178881124Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N","level":"medium"}],"updated_at":"2026-11-02T15:52:55.961245Z"},{"id":"BIT-jupyter-base-notebook-2024-22420","title":"Stored cross site scripting in Markdown Preview in JupyterLab","description":"JupyterLab is an extensible environment for interactive and reproducible computing, based on the Jupyter Notebook and Architecture. This vulnerability depends on user interaction by opening a malicious Markdown file using JupyterLab preview feature. A malicious user can access any data that the attacked user has access to as well as perform arbitrary requests acting as the attacked user. JupyterLab version 4.0.11 has been patched. Users are advised to upgrade. Users unable to upgrade should disable the table of contents extension.","status":"published","published":"2024-03-06T10:54:00.16Z","modified":"2026-09-08T08:48:23.733244955Z","updated_at":"2026-11-02T15:28:31.782692Z"},{"id":"BIT-jupyterlab-2024-22420","title":"Stored cross site scripting in Markdown Preview in JupyterLab","description":"JupyterLab is an extensible environment for interactive and reproducible computing, based on the Jupyter Notebook and Architecture. This vulnerability depends on user interaction by opening a malicious Markdown file using JupyterLab preview feature. A malicious user can access any data that the attacked user has access to as well as perform arbitrary requests acting as the attacked user. JupyterLab version 4.0.11 has been patched. Users are advised to upgrade. Users unable to upgrade should disable the table of contents extension.","status":"published","published":"2024-03-06T10:54:13.085Z","modified":"2026-09-08T08:48:23.87438785Z","updated_at":"2026-11-02T15:28:31.782692Z"},{"id":"BIT-jupyter-notebook-2024-22420","title":"Stored cross site scripting in Markdown Preview in JupyterLab","description":"JupyterLab is an extensible environment for interactive and reproducible computing, based on the Jupyter Notebook and Architecture. This vulnerability depends on user interaction by opening a malicious Markdown file using JupyterLab preview feature. A malicious user can access any data that the attacked user has access to as well as perform arbitrary requests acting as the attacked user. JupyterLab version 4.0.11 has been patched. Users are advised to upgrade. Users unable to upgrade should disable the table of contents extension.","status":"published","published":"2024-03-06T10:54:05.906Z","modified":"2026-09-08T08:48:23.623319089Z","updated_at":"2026-11-02T15:28:31.782692Z"},{"id":"openSUSE-SU-2024:13605-1","title":"jupyter-jupyterlab-4.0.11-1.1 on GA media","description":"These are all security issues fixed in the jupyter-jupyterlab-4.0.11-1.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2024-06-15T00:00:00Z","modified":"2026-02-04T04:12:02.488543Z","updated_at":"2026-11-02T16:58:36.327643Z"},{"id":"openSUSE-SU-2024:13606-1","title":"jupyter-notebook-7.0.7-1.1 on GA media","description":"These are all security issues fixed in the jupyter-notebook-7.0.7-1.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2024-06-15T00:00:00Z","modified":"2026-02-04T02:48:45.592392Z","updated_at":"2026-11-02T16:58:36.327643Z"}]}}
