Your RSA-2048 keys break in 2030. Find every one of them before attackers do.
🐍
🐍 PyPI
Not in CISA KEV
CRITICAL severity

CVE-2021-32797 — jupyterlab

CRITICALFix: jupyterlab/jupyterlab@5048259

CVE-2021-32797 is a critical-severity (CVSS 9.6) Cross-site Scripting (XSS) vulnerability in jupyterlab. 1 public exploit reference exists, so weaponization risk is real. A fix is available for jupyterlab — see the affected versions and patch details below.

JupyterLab: XSS due to lack of sanitization of the action attribute of an html <form>

Also known asBIT-jupyterlab-2021-32797GHSA-4952-p58q-6crxPYSEC-2021-130PYSEC-2026-688
Published
Updated
Affected
7 pkgs
Patched
7 / 7
Exploits
1 known
Exploitation data as of Oct 9, 2026 · OSV.dev, NVD, FIRST.org (EPSS)

EPSS Exploitation Probability

via FIRST.org ↗
2.7%probability of exploitation in next 30 days
Lower Risk0.00%
Lower risk than most CVEs85th percentile — riskier than 85% of all scored CVEsHighest risk
0.33%1.29%2.24%3.20%0.9%2.7%Apr 26Aug 26Oct 26

Probability of exploitation in the next 30 days, from FIRST.org EPSS.

How urgent is this, really

CVE-2021-32797 by exploitation likelihood (EPSS) against impact (CVSS). Outside the shaded patch-first corner.

Where this sits among everything scored

Of 385,738 CVEs with a current EPSS score, this one falls in the < 10% band (highlighted). Counts from FIRST.org, log-scaled.

Real-World Exposure

7 pkgs affected
🐍jupyterlab🐍jupyterlab🐍jupyterlab🐍jupyterlab🐍jupyterlab🐍notebook🐍notebook

Real-time download stats are indexed for npm and PyPI packages. This vulnerability affects PyPI packages — download data is not available via public APIs for these ecosystems.

Description

Impact

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

Patches

Patched in the following versions: 3.1.4, 3.0.17, 2.3.2, 2.2.10, 1.2.21.

References

OWASP Page on Restricting Form Submissions

For more information

If you have any questions or comments about this advisory, or vulnerabilities to report, please email our security list [email protected].

Credit: Guillaume Jeanne from Google

Affected Packages

7 total 7 fixed
EcosystemPackageVulnerable rangeFix
🐍PyPIjupyterlaball versions1.2.21pip install --upgrade 'jupyterlab==1.2.21'
🐍PyPIjupyterlab≥ 2.0.0a0&&< 2.2.102.2.10pip install --upgrade 'jupyterlab==2.2.10'
🐍PyPIjupyterlab≥ 2.3.0a0&&< 2.3.22.3.2pip install --upgrade 'jupyterlab==2.3.2'
🐍PyPIjupyterlab≥ 3.0.0a0&&< 3.0.173.0.17pip install --upgrade 'jupyterlab==3.0.17'
🐍PyPIjupyterlab≥ 3.1.0a0&&< 3.1.43.1.4pip install --upgrade 'jupyterlab==3.1.4'
🐍PyPInotebookall versions5.7.11pip install --upgrade 'notebook==5.7.11'

Affected Products

1 product · 5 configurations
Application
jupyterlabjupyter
≥ 3.1.0 && < 3.1.4
range
Exploits & PoCs
1

Research use only. For defensive security, authorized penetration testing, and academic research only. Never execute exploit code against systems without explicit written authorization.

Detection & mitigation playbook

Open-source dependency
  1. Detect

    Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for jupyterlab, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.

  2. Fix

    Update jupyterlab to 1.2.21 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2021-32797 is resolved across your whole dependency graph.

  3. Workarounds

    Escape or sanitise the affected output on the server side rather than relying on client-side filtering, and add a Content-Security-Policy that blocks inline script execution so injected markup cannot run even if it reaches the page.

Frequently Asked Questions

### Impact Untrusted notebook can execute code on load. This is a remote code execution, but requires user action to open a notebook. ### Patches Patched in the following versions: 3.1.4, 3.0.17, 2.3.2, 2.2.10, 1.2.21. ### References [OWASP Page on Restricting Form Submissions](https://cheatsheetseries.owasp.org/cheatsheets/Content_Security_Policy_Cheat_Sheet.html) ### For more information If you have any questions or comments about this advisory, or vulnerabilities to report, please email our security list [email protected]. Credit: Guillaume Jeanne from Google
O3 Security · Impact-Aware SCA

Is CVE-2021-32797 in your dependencies?

Find it across PyPI, including transitive dependencies.

CVE-2021-32797: jupyterlab RCE — Fixed in 1.2.21