CVE-2026-102831 json
JupyterLab: Cross-site scripting (XSS) in JupyterLab via notebook cells pasted from the system clipboard
published last mo. modified last mo. also GHSA-6966-vjj6-99xv , PYSEC-2026-4057 , PYSEC-2026-4058 , PYSEC-2026-4060 , PYSEC-2026-4112 , EUVD-2026-89338
- cvss
- 8.1
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 14%
- public exploits
- 0
- none known
Summary
JupyterLab is an extensible environment for interactive and reproducible computing, based on the Jupyter Notebook Architecture. From JupyterLab 4.5.0 until 4.5.11 and 4.6.4, from Notebook 7.5.0 until 7.6.3, and from JupyterLite Core 0.7.0 until 0.8.4, the system clipboard cell-paste path accepts attacker-controlled cell JSON without clearing metadata.trusted. When useSystemClipboardForCells is active and pasteCodeCellsWithoutOutput is disabled, a pasted code cell can mark HTML output as trusted, bypass output sanitization, and execute script in the authenticated JupyterLab origin without executing the cell. Markdown and raw cells are not affected because their output is sanitized. This issue is fixed in JupyterLab 4.5.11 and 4.6.4, Notebook 7.6.3, and JupyterLite Core 0.8.4.
Patch / fix
- pypi jupyterlab 4.5.11, 4.6.4
- pypi notebook 7.6.3
- pypi jupyterlite 0.8.4
- pypi jupyterlite-core 0.8.4
- python-jupyterlab openSUSE Tumbleweed 4.5.11-1.1
opensuse advisories openSUSE-SU-2026:11945-1
Is CVE-2026-102831 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerVendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-102831 updated cvss 8.1
jupyterlab: JupyterLab: Cross-Site Scripting via malicious clipboard cell pasting
-
Red Hat OpenShift AI (RHOAI) rhoai/odh-th-torch-cpu-py312-rhel9, rhoai/odh-th-torch-cuda-py312-rhel9, rhoai/odh-th-torch-rocm-py312-rhel9, rhoai/odh-th06-cpu-torch210-py312-rhel9, rhoai/odh-th06-rocm64-torch291-py312-rhel9, rhoai/odh-th06-cuda130-torch210-py312-rhel9, +11 moreaffected: workaround, no fix available
-
Red Hat OpenShift AI 2.25 rhoai/odh-feature-server-rhel9 1792148523fixed: vendor fix RHSA-2026:87410
-
Red Hat OpenShift AI 3.4 rhoai/odh-feature-server-rhel9 1791863220fixed: vendor fix RHSA-2026:84734
-
Red Hat Migration Toolkit for Applications 8 mta/mta-solution-server-rhel9not affected: vulnerable code not present
-
Red Hat OpenShift AI (RHOAI) rhoai/odh-th06-cpu-torch291-py312-rhel9, rhoai/odh-th06-cuda130-torch291-py312-rhel9not affected: component not present
-
Red Hat OpenShift AI 2.25 rhoai/odh-rhel9-operator 1792570619, rhoai/odh-vllm-cpu-rhel9 1792018436, rhoai/odh-dashboard-rhel9 1791853525, rhoai/odh-modelmesh-rhel9 1790881700, rhoai/odh-operator-bundle 1792571069, rhoai/odh-vllm-cuda-rhel9 1791358976, +65 more Red Hat OpenShift AI 3.4 rhoai/odh-cli-rhel9 1791509689, rhoai/rhai-cli-rhel9 1791509689, rhoai/odh-automl-rhel9 1791535789, rhoai/odh-mlflow-rhel9 1791865967, rhoai/odh-autorag-rhel9 1791557539, rhoai/odh-trainer-rhel9 1791869783, +99 morenot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- total
- Assessed
- last mo.
Exploit prediction
0.24% chance of exploitation in the next 30 days, higher than 14% of all scored CVEs (FIRST EPSS, 2026-11-09).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 8.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N |
| GitHub | 3.1 | 8.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N |
| OSV | 3.1 | 8.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | jupyterlab | >=4.6.0, <4.6.4 >=4.5.0, <4.5.11 |
4.6.4 4.5.11 |
| pypi | notebook | >=7.5.0, <7.6.3 |
7.6.3 |
| pypi | jupyterlite | >=0.7.0, <0.8.4 |
0.8.4 |
| pypi | jupyterlite-core | >=0.7.0, <0.8.4 |
0.8.4 |
Affected products
- jupyterlab jupyterlab
- jupyterlab notebook
- jupyterlab jupyterlite-core
Classification
References
-
github.com
/jupyterlab/jupyterlab/commit/1a10a7da5ff655849b21581c2633b46483ae0be9
web
-
github.com
/jupyterlab/jupyterlab/commit/7f9f29e29e0c83fb17b0f11da57d06b3c6a40d96
web
-
github.com
/jupyterlab/jupyterlab/commit/cf6e89a8d315c4134cefa50c220bca296da466a7
web
-
github.com
/jupyterlab/jupyterlab/security/advisories/GHSA-6966-vjj6-99xv
web
-
github.com
/jupyterlab/jupyterlab/releases/tag/v4.5.11
web
-
github.com
/jupyterlab/jupyterlab/releases/tag/v4.6.4
web
-
nvd.nist.gov
/vuln/detail/CVE-2026-102831
advisory
-
github.com
/jupyterlab/jupyterlab
package
-
pypi.org
/project/jupyterlite
package
-
github.com
/advisories/GHSA-6966-vjj6-99xv
advisory
-
pypi.org
/project/jupyterlab
package
-
pypi.org
/project/notebook
package
-
pypi.org
/project/jupyterlite-core
package
Sources
- CVE List CVE-2026-102831
- GitHub Advisory GHSA-6966-vjj6-99xv
- NVD CVE-2026-102831
- OSV PYSEC-2026-4058
- OSV PYSEC-2026-4057
- OSV PYSEC-2026-4112
- OSV PYSEC-2026-4060
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.