GitHub Advisoryadvisory · PyPI
GHSA-9q39-rmj3-p4r2 HTML injection in Jupyter Notebook and JupyterLab leading to DOM Clobbering
HIGH
Official page ↗
- Aliases
- CVE-2024-43805
- Ecosystem
- PyPI
- Packages
- jupyterlab, notebook
- Severity
- High
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:L
- Weaknesses
- CWE-79
- Reviewed
- 2024-08-29
Affected packages
• PyPI jupyterlab: < 3.6.8 → fixed in 3.6.8
• PyPI notebook: >= 7.0.0, < 7.2.2 → fixed in 7.2.2
• PyPI jupyterlab: >= 4.0.0, < 4.2.5 → fixed in 4.2.5
Description
Impact
The vulnerability depends on user interaction by opening a malicious notebook with Markdown cells, or 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.
Patches
JupyterLab v3.6.8, v4.2.5 and Jupyter Notebook v7.2.2 were patched.
Workarounds
There is no workaround for the underlying DOM Clobbering susceptibility. However, select plugins can be disabled on deployments which cannot update in a timely fashion to minimise the risk. These are:
• `@jupyterlab/mathjax-extension:plugin` - users will loose ability to preview mathematical equations
• `@jupyterlab/markdownviewer-extension:plugin` - users will loose ability to open Markdown previews
• `@jupyterlab/mathjax2-extension:plugin` (if installed with optional `jupyterlab-mathjax2` package) - an older version of the mathjax plugin for JupyterLab 4.x
To disable these extensions run:
```bash
jupyter labextension disable @jupyterlab/markdownviewer-extension:plugin
jupyter labextension disable @jupyterlab/mathjax-extension:plugin
jupyter labextension disable @jupyterlab/mathjax2-extension:plugin
```
To confirm that the plugins were disabled run:
```bash
jupyter labextension list
```
References
None
Notes
This change has a potential to break rendering of some markdown. There is a setting in Sanitizer which allows to revert to the previous sanitizer settings (`allowNamedProperties`).
Related
Alias · CVE (1)
- CVE-2024-43805 jupyterlab is an extensible environment for interactive and reproducible computing, based on the Jupyter Notebook Architecture. vulnerability
Weakness · CWE (1)
- CWE-79 Improper Neutralization of Input During Web Page Generation weakness
References
- https://github.com/jupyterlab/jupyterlab/security/advisories/GHSA-9q39-rmj3-p4r2 web
- https://nvd.nist.gov/vuln/detail/CVE-2024-43805 advisory
- https://github.com/jupyterlab/jupyterlab/commit/06ad9de836f155add7d3d651ef936cc4c5ea8093 web
- https://github.com/jupyterlab/jupyterlab/commit/88e24baac551196f9cb3de16bd060a7ab1597674 web
- https://github.com/jupyterlab/jupyterlab package