Description
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.
Published: 2026-09-29
Score: 8.1 High
EPSS: < 1% Very Low
KEV: No
Impact: Cross‑Site Scripting that allows execution of arbitrary code in the authenticated JupyterLab context
Action: Patch
AI Analysis

Impact

The clipboard cell‑paste mechanism in JupyterLab, JupyterLite Core, and the Jupyter Notebook architecture accepts attacker‑controlled JSON objects without clearing the trusted metadata flag. When the useSystemClipboardForCells setting is enabled and pasteCodeCellsWithoutOutput is disabled, a code cell can tag its HTML output as trusted. Trusted output bypasses Jupyter’s sanitization step, enabling embedded <script> payloads to run within the user’s browser without the cell executing. This results in a client‑side cross‑site scripting flaw that can persist in a trusted context, potentially exposing credentials or enabling further server‑side exploitation. The flaw does not affect Markdown or raw cells because their output is always sanitized. The vulnerability is limited to cells pasted from the system clipboard; it does not require network access beyond the authenticated JupyterLab origin.

Affected Systems

The flaw affects JupyterLab versions 4.5.0 through 4.5.11 and 4.6.0 through 4.6.4, the Jupyter Notebook versions 7.5.0 through 7.6.3, and JupyterLite Core versions 0.7.0 through 0.8.4. All products are listed under the jupyterlab:jupyterlab, jupyterlab:jupyterlite-core, and jupyterlab:notebook CNAs.

Risk and Exploitability

The CVSS score of 8.1 indicates a high severity risk. EPSS information is not available, but the vulnerability is not in the CISA KEV catalog. Attackers who can inject malicious clipboard content can trigger the flaw; this typically requires local user interaction or an exploited user session. Once a trusted HTML payload is pasted, scripts execute in the authenticated origin, yielding full client‑side privileges for the user. Because the attack does not directly require network intrusion, its probability hinges on user behavior or compromised local software.

Generated by OpenCVE AI on September 29, 2026 at 22:32 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade to JupyterLab 4.5.11 or 4.6.4, Notebook 7.6.3, or JupyterLite Core 0.8.4, which remove the flaw by clearing the trusted metadata during paste.
  • If an immediate patch is unavailable, disable the useSystemClipboardForCells preference or enable pasteCodeCellsWithoutOutput so that pasted code cells cannot mark output as trusted.
  • Configure a Content Security Policy (CSP) in the JupyterLab application to block the execution of inline scripts, providing a mitigation layer even if the vulnerability is not yet patched.

Generated by OpenCVE AI on September 29, 2026 at 22:32 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-6966-vjj6-99xv JupyterLab: Cross-site scripting (XSS) in JupyterLab via notebook cells pasted from the system clipboard
History

Fri, 02 Oct 2026 13:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Wed, 30 Sep 2026 20:45:00 +0000

Type Values Removed Values Added
First Time appeared Jupyter
Jupyter jupyter Core
Jupyter jupyterlab
Jupyter notebook
Vendors & Products Jupyter
Jupyter jupyter Core
Jupyter jupyterlab
Jupyter notebook

Wed, 30 Sep 2026 00:15:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

threat_severity

Important


Tue, 29 Sep 2026 19:15:00 +0000

Type Values Removed Values Added
Description 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.
Title JupyterLab: Cross-site scripting (XSS) in JupyterLab via notebook cells pasted from the system clipboard
Weaknesses CWE-345
CWE-79
References
Metrics cvssV3_1

{'score': 8.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N'}


Subscriptions

Jupyter Jupyter Core Jupyterlab Notebook
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-02T12:22:58.664Z

Reserved: 2026-09-29T17:25:25.266Z

Link: CVE-2026-102831

cve-icon Vulnrichment

Updated: 2026-10-02T12:22:54.379Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-09-29T19:17:25.700

Modified: 2026-10-02T13:17:27.660

Link: CVE-2026-102831

cve-icon Redhat

Severity : Important

Publid Date: 2026-09-29T18:58:03Z

Links: CVE-2026-102831 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-09-30T20:30:18Z

Weaknesses
  • CWE-345

    Insufficient Verification of Data Authenticity

  • CWE-79

    Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')