Every CVE Search/ Get API key

CVE-2021-32797

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

7.4 HighFix available

JupyterLab is a user interface for Project Jupyter which will eventually replace the classic Jupyter Notebook. In affected versions untrusted notebook can execute code on load. In particular JupyterLab doesn’t sanitize the action attribute of html <form>. Using this it is possible to trigger the form validation outside of the form itself. This is a remote code execution, but requires user action to open a notebook.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
Required

What an attacker can affect

Confidentiality
High
Integrity
None
Availability
None

Exploit likelihood

2.66%Up 1.3 points since Aug 10, 2021
90%50%10%1%

What each source reports

CVE List Score used 7.4

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

JupyterLab is a user interface for Project Jupyter which will eventually replace the classic Jupyter Notebook. In affected versions untrusted notebook can execute code on load. In particular JupyterLab doesn’t sanitize the action attribute of html <form>. Using this it is possible to trigger the form validation outside of the form itself. This is a remote code execution, but requires user action to open a notebook.

Record
CVE-2021-32797
CVSS 3.1
7.4 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:N
Weakness
CWE-79
Updated
2026-11-02
EUVDEUVD-2021-0107 7.4

JupyterLab is a user interface for Project Jupyter which will eventually replace the classic Jupyter Notebook. In affected versions untrusted notebook can execute code on load. In particular JupyterLab doesn’t sanitize the action attribute of html <form>. Using this it is possible to trigger the form validation outside of the form itself. This is a remote code execution, but requires user action to open a notebook.

Record
EUVD-2021-0107
CVSS 3.1
7.4 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:N
Updated
2026-11-03
GitHub AdvisoriesGHSA-4952-p58q-6crx 6.3

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

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

Record
GHSA-4952-p58q-6crx
CVSS 4.0
6.3 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:H/SI:N/SA:N
CVSS 3.1
7.4 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:N
Weakness
CWE-75, CWE-79, CWE-87
Updated
2026-11-02
NVD 7.4

JupyterLab is a user interface for Project Jupyter which will eventually replace the classic Jupyter Notebook. In affected versions untrusted notebook can execute code on load. In particular JupyterLab doesn’t sanitize the action attribute of html <form>. Using this it is possible to trigger the form validation outside of the form itself. This is a remote code execution, but requires user action to open a notebook.

Record
CVE-2021-32797
CVSS 3.1
7.4 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:N
CVSS 3.1
9.6 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H
CVSS 2.0
6.8 MediumAV:N/AC:M/Au:N/C:P/I:P/A:P
Weakness
CWE-79
Updated
2026-11-02
OSV 9.6

JupyterLab is a user interface for Project Jupyter which will eventually replace the classic Jupyter Notebook. In affected versions untrusted notebook can execute code on load. In particular JupyterLab doesn’t sanitize the action attribute of html <form>. Using this it is possible to trigger the form validation outside of the form itself. This is a remote code execution, but requires user action to open a notebook.

Record
CVE-2021-32797
CVSS 3.1
9.6 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H
Updated
2026-11-02
OSVGHSA-4952-p58q-6crx 6.3

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

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

Record
GHSA-4952-p58q-6crx
CVSS 4.0
6.3 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:H/SI:N/SA:N
CVSS 3.1
7.4 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:N
Weakness
CWE-75, CWE-79, CWE-87
Updated
2026-11-02
Show 5 moreShow less
OSVPYSEC-2026-688 6.3

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

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

Record
PYSEC-2026-688
CVSS 4.0
6.3 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:H/SI:N/SA:N
CVSS 3.1
7.4 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:N
Updated
2026-11-02
OSVBIT-jupyterlab-2021-32797 No score

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

JupyterLab is a user interface for Project Jupyter which will eventually replace the classic Jupyter Notebook. In affected versions untrusted notebook can execute code on load. In particular JupyterLab doesn’t sanitize the action attribute of html <form>. Using this it is possible to trigger the form validation outside of the form itself. This is a remote code execution, but requires user action to open a notebook.

Record
BIT-jupyterlab-2021-32797
Updated
2026-11-02
OSVMGASA-2023-0060 No score

Updated python-jupyterlab packages fix security vulnerability

Remote code execution, but requires user action to open a notebook. (CVE-2021-32797), and other bug fixes.

Record
MGASA-2023-0060
Updated
2026-11-02
OSVopenSUSE-SU-2022:10075-1 No score

Security update for python-jupyterlab

This update for python-jupyterlab fixes the following issues:

Update to 2.2.10:

  • Remove form tags' action attribute during sanitizing, to prevent an XSS (CVE-2021-32797) (boo#1196663)
  • Header ‘Content-Type’ should not be overwritten
  • Do not use token parameters in websocket urls
  • Properly handle errors in async browser_check
  • Cells can no longer be executed while kernels are terminating or restarting. There is a new status for these events on the Kernel Indicator
  • Add styling for high memory usage warning in status bar with nbresuse
  • Adds support for Python version 3.10
  • Support live editing of SVG with updating rendering
  • Lazy load codemirror theme stylesheets
  • Add feature request template + slight reorg in readme
  • Add link to react example in extension-examples repo
  • Close correct tab with close tab
  • Remove unused css rules
  • Simplified multicursor backspace code
  • Fix recent breaking changes to normalizepath in filebrowser
  • Handle quit_button when launched as an extension
  • Add worker-loader
  • Fix icon sidebar height for third party extensions
  • Scrolls cells into view after deletion
  • Support Node.js 10+
  • Select search text when focusing the search overlay
  • Throttle fetch requests in the setting registry’s data connector
  • Avoid redundant checkpoint calls on loading a notebook
Record
openSUSE-SU-2022:10075-1
Updated
2026-11-02
OSVPYSEC-2021-130 No score

JupyterLab is a user interface for Project Jupyter which will eventually replace the classic Jupyter Notebook. In affected versions untrusted notebook can execute code on load. In particular JupyterLab doesn’t sanitize the action attribute of html <form>. Using this it is possible to trigger the form validation outside of the form itself. This is a remote code execution, but requires user action to open a notebook.

Record
PYSEC-2021-130
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
jupyterlab
PyPI
before 1.2.21
1.2.21
notebook
PyPI
before 5.7.11
5.7.11
notebook
PyPI
6.0.0 up to 6.4.1
6.4.1
jupyterlab
PyPI
2.0.0a0 up to 2.2.10
2.2.10
jupyterlab
PyPI
2.3.0a0 up to 2.3.2
2.3.2
jupyterlab
PyPI
3.0.0a0 up to 3.0.17
3.0.17
jupyterlab
PyPI
3.1.0a0 up to 3.1.4
3.1.4
jupyterlab
Bitnami
before 1.2.21, 2.0.0 up to 2.2.10, 2.3.0 up to 2.3.2, 3.0.0 up to 3.0.17, 3.1.0 up to 3.1.4
1.2.212.2.102.3.23.0.173.1.4
jupyterlab
PyPI
before 1.2.21, plus listed versions
0.0.10.0.100.0.130.0.20.0.3
Show 45 moreShow less
0.0.40.0.50.0.60.0.70.0.80.0.90.1.10.1.20.10.00.11.00.11.10.11.20.11.30.12.00.12.10.13.00.13.10.13.20.14.00.15.00.15.10.16.00.16.20.17.00.17.10.17.20.17.40.17.50.18.00.18.0.dev10.18.10.19.00.2.00.20.00.20.0rc10.20.10.20.20.20.30.20.40.21.00.21.0rc10.21.0rc20.21.0rc30.21.0rc40.21.0rc5
1.2.21
jupyterlab
PyPI
2.0.0a0 up to 2.2.10, plus listed versions
2.0.02.0.0a12.0.0a32.0.0a42.0.0b1
Show 29 moreShow less
2.0.0b22.0.0b32.0.0rc02.0.0rc12.0.0rc22.0.12.0.1rc02.0.22.1.02.1.0a02.1.0b02.1.0rc02.1.12.1.22.1.32.1.42.1.52.2.02.2.0a02.2.0a12.2.0rc12.2.12.2.22.2.42.2.52.2.62.2.72.2.82.2.9
2.2.10
Show 11 moreShow less
Affected packages
PackageAffectedFixed
jupyterlab
PyPI
2.3.0a0 up to 2.3.2, plus listed versions
2.3.02.3.0a12.3.0a22.3.0rc02.3.1
2.3.2
jupyterlab
PyPI
3.0.0a0 up to 3.0.17, plus listed versions
3.0.03.0.0a103.0.0a113.0.0a123.0.0a13
Show 45 moreShow less
3.0.0a143.0.0a33.0.0a43.0.0a53.0.0a63.0.0a73.0.0a83.0.0a93.0.0b13.0.0b23.0.0b33.0.0b43.0.0b63.0.0b73.0.0b83.0.0rc03.0.0rc13.0.0rc103.0.0rc113.0.0rc123.0.0rc133.0.0rc143.0.0rc153.0.0rc23.0.0rc33.0.0rc43.0.0rc53.0.0rc63.0.0rc73.0.0rc83.0.0rc93.0.13.0.103.0.113.0.123.0.133.0.143.0.153.0.163.0.23.0.33.0.43.0.53.0.63.0.7
3.0.17
jupyterlab
PyPI
3.1.0a0 up to 3.1.4, plus listed versions
3.1.03.1.0a13.1.0a103.1.0a113.1.0a12
Show 15 moreShow less
3.1.0a133.1.0a23.1.0a33.1.0a43.1.0a53.1.0a63.1.0a73.1.0a83.1.0a93.1.0b03.1.0b13.1.0rc13.1.0rc23.1.13.1.2
3.1.4
notebook
PyPI
before 5.7.11, plus listed versions
0.0.04.0.04.0.14.0.24.0.4
Show 45 moreShow less
4.0.54.0.64.1.04.2.04.2.0b14.2.14.2.24.2.34.3.04.3.14.3.24.4.04.4.15.0.05.0.0b15.0.0b25.0.0rc15.0.0rc25.1.05.1.0rc15.1.0rc25.1.0rc35.2.05.2.0rc15.2.15.2.1rc15.2.25.3.05.3.0rc15.3.15.4.05.4.15.5.05.5.0rc15.6.05.6.0rc15.7.05.7.15.7.105.7.25.7.35.7.45.7.55.7.65.7.8
5.7.11
notebook
PyPI
6.0.0 up to 6.4.1, plus listed versions
6.0.16.0.26.0.36.1.06.1.0rc1
Show 12 moreShow less
6.1.16.1.26.1.36.1.46.1.56.1.66.2.06.3.06.4.06.4.0a06.4.0a16.4.0rc0
6.4.1
python-jupyterlab
Mageia:8
before 2.2.10-1.mga8
2.2.10-1.mga8
jupyter-jupyterlab-server
Mageia:8
before 1.1.5-1.mga8
1.1.5-1.mga8
jupyterlab
PyPI
before 1.2.21, 2 up to 2.2.10, 2.3 up to 2.3.2, 3 up to 3.0.17, 3.1 up to 3.1.4, plus listed versions
0.0.10.0.100.0.130.0.20.0.3
Show 45 moreShow less
0.0.40.0.50.0.60.0.70.0.80.0.90.1.10.1.20.10.00.11.00.11.10.11.20.11.30.12.00.12.10.13.00.13.10.13.20.14.00.15.00.15.10.16.00.16.20.17.00.17.10.17.20.17.40.17.50.18.00.18.0.dev10.18.10.19.00.2.00.20.00.20.0rc10.20.10.20.20.20.30.20.40.21.00.21.0rc10.21.0rc20.21.0rc30.21.0rc40.21.0rc5
1.2.212.2.102.3.23.0.173.1.4
notebook
PyPI
before 5.7.11, 6.0.0 up to 6.4.1, plus listed versions
0.0.04.0.04.0.14.0.24.0.4
Show 45 moreShow less
4.0.54.0.64.1.04.2.04.2.0b14.2.14.2.24.2.34.3.04.3.14.3.24.4.04.4.15.0.05.0.0b15.0.0b25.0.0rc15.0.0rc25.1.05.1.0rc15.1.0rc25.1.0rc35.2.05.2.0rc15.2.15.2.1rc15.2.25.3.05.3.0rc15.3.15.4.05.4.15.5.05.5.0rc15.6.05.6.0rc15.7.05.7.15.7.105.7.25.7.35.7.45.7.55.7.65.7.8
5.7.116.4.1
python-jupyterlab
SUSE:Package Hub 15 SP4
before 2.2.10-bp154.2.3.1
2.2.10-bp154.2.3.1
python-jupyterlab
openSUSE:Leap 15.4
before 2.2.10-bp154.2.3.1
2.2.10-bp154.2.3.1

History

History
RecordedChangedSources
aliasesEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2021-32797 is a high vulnerability (CVSS 7.4) in Jupyter Jupyterlab, published August 9, 2021. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 2.66%, the 85th percentile. Fixed in jupyterlab 1.2.21.

References

Show 6 moreShow less
This page doesn't list everything

Left out here: 462 versions. The JSON record has them.

MoveEnter Open