CVE-2021-32798
About
The Jupyter notebook is a web-based notebook environment for interactive computing. In affected versions untrusted notebook can execute code on load. Jupyter Notebook uses a deprecated version of Google Caja to sanitize user inputs. A public Caja bypass can be used to trigger an XSS when a victim opens a malicious ipynb document in Jupyter Notebook. The XSS allows an attacker to execute arbitrary code on the victim computer using Jupyter APIs.
Rainforest analyst review
Open a malicious .ipynb notebook in Jupyter Notebook and it runs code on load — no cell execution, no clicking Run, just opening the document. The sanitizer meant to neutralize untrusted notebook content relies on a deprecated Caja version with a known public bypass, so crafted content slips through as XSS and, through Jupyter's own APIs, turns into arbitrary code execution on the victim's machine. The changed scope in the vector is the tell: it jumps out of the browser sandbox into the user's compute.
The reason this rates a perfect 10 is the delivery model. Notebooks are shared constantly — over email, GitHub, shared drives, data-science Slack channels — and opening one someone sent you feels completely routine. That makes this a strong phishing-style vector: the "exploit" is a file a researcher happily double-clicks. It's not mass-scanned like a server bug, but it's very much in reach of a targeted actor who can get a booby-trapped notebook in front of a data team, and each hit lands code on a workstation that often has cloud and data credentials.
Our emphasis is inventory plus user awareness rather than perimeter. We'd find where Jupyter Notebook (the classic server, distinct from JupyterLab) is deployed and pin versions to the fixed line, because the sanitizer flaw is in the product, not the config. Alongside patching, this is one to flag to data-science teams as a "don't open untrusted notebooks" hazard, since the exploit rides on human file-sharing habits that no firewall touches.
References
Related CVEs
Frequently asked questions
What is CVE-2021-32798?
The Jupyter notebook is a web-based notebook environment for interactive computing. In affected versions untrusted notebook can execute code on load. Jupyter Notebook uses a deprecated version of Google Caja to sanitize user inputs. A public Caja bypass can be used to trigger an XSS when a victim opens a malicious ipynb document in Jupyter Notebook.
How severe is CVE-2021-32798?
CVE-2021-32798 carries a CVSS 3.1 base score of 10, rated critical. On the Rainforest Risk Index — which weighs the severity alongside how easy the flaw is to reach and how broad its impact is — it scores 99 out of 100, in the critical band.
How is CVE-2021-32798 exploited?
According to the CVSS vector (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N): attack vector Network, attack complexity Low, privileges required None, user interaction None. Impact on confidentiality High, integrity High and availability None.
Which products are affected by CVE-2021-32798?
Public advisories list the following as affected: notebook. Check the references on this page for the exact versions each vendor confirms.
How do I fix CVE-2021-32798?
Apply the fix the vendor published — the references on this page link to the primary advisories and patches. When patching can't happen right away, reduce the exposure of the affected component and watch it for exploitation attempts. Rainforest customers see this vulnerability correlated to their own assets and prioritized by real exposure, not by score alone.
Empower Your Security Strategy with Rainforest
Discover vulnerabilities early, prioritize critical threats, and protect what truly matters. Rainforest streamlines your security operations, saving you time and reducing costs, so you can focus on what drives your business forward.
