CVE-2021-32798: Failure to Sanitize Special Elements into a Different Plane (Special Element Injection) in notebook

Published Aug 9, 2021
·
Updated

Impact

Untrusted notebook can execute code on load. This is a remote code execution, but requires user action to open a notebook.

Patches

5.7.11, 6.4.1

References

OWASP Page on Injection Prevention

For more information

If you have any questions or comments about this advisory, or vulnerabilities to report, please email our security list security@ipython.org.

Credit: Guillaume Jeanne from Google

Example:

A notebook with the following content in a cell and it would display an alert when opened for the first time in Notebook (in an untrusted state):

{ "celltype": "code", "executioncount": 0, "metadata": {}, "outputs": [ { "data": { "text/html": [ "<select><iframe></select><img src=x: onerror=alert('xss')>\n"], "text/plain": [] }, "metadata": {}, "outputtype": "displaydata" } ], "source": [ "" ] }

Other sources

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.

Affected Software

4 affected componentsFixes available
jupyter notebook>=5.7.0<5.7.11
jupyter notebook=6.4.0
pip/notebook>=6.0.0<6.4.1
6.4.1
pip/notebook<5.7.11
5.7.11

Event History

Aug 9, 2021
CVE Published
via MITRE·08:50 PM
Data Sourced
via MITRE·08:50 PM
DescriptionSeverityWeakness
Aug 23, 2021
Advisory Published
via GitHub·07:40 PM
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is CVE-2021-32798?

CVE-2021-32798 is a vulnerability in Jupyter Notebook that allows untrusted notebooks to execute code on load and trigger cross-site scripting (XSS) attacks.

2

How does CVE-2021-32798 affect Jupyter Notebook?

In affected versions of Jupyter Notebook (up to version 5.7.11 and version 6.4.0), untrusted notebooks can execute code on load and potentially cause XSS attacks.

3

What is the severity of CVE-2021-32798?

CVE-2021-32798 has a severity rating of 9.6 (critical).

4

How can I fix CVE-2021-32798 in Jupyter Notebook?

To fix CVE-2021-32798 in Jupyter Notebook, update to a version that includes the patch for this vulnerability. Check the official Jupyter Notebook GitHub repository for the latest releases and security advisories.

5

What is the Common Weakness Enumeration (CWE) ID for CVE-2021-32798?

The Common Weakness Enumeration (CWE) ID for CVE-2021-32798 is CWE-79, which represents Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting').

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203