CVE-2026-42557

jupyterlab: Command linker attributes in HTML enable one-click command execution from untrusted content

Published May 13, 2026 CVSS 4.0 · 8.6 High EPSS < 1% KEV · Not listed
Description
jupyterlab is an extensible environment for interactive and reproducible computing, based on the Jupyter Notebook Architecture. Prior to 4.5.7, JupyterLab's HTML sanitizer allowlists data-commandlinker-command and data-commandlinker-args on button elements, while CommandLinker listens for all click events on document.body and executes the named command without checking whether the element came from trusted JupyterLab UI. A notebook with a pre-saved HTML cell output containing a deceptive button can trigger arbitrary JupyterLab commands - including arbitrary code execution - on a single user click, without any code being submitted for execution by the user. This vulnerability is fixed in 4.5.7.

Analysis

AI-generated

Technical impact

Untrusted HTML content can be embedded within a JupyterLab notebook cell. The notebook’s output rendering system includes a data-commandlinker attribute that, when clicked, causes JupyterLab’s command execution engine to invoke the specified command without verifying that the element originated from trusted UI components. Because the command linker can trigger any JupyterLab command—including those that execute arbitrary code—the attacker’s deceptive button can cause a single click to run code on the user’s machine. This flaw is a type of cross-site scripting that enables injection of privileged commands.

Affected Systems

The vulnerability applies to all releases of JupyterLab and Jupyter Notebook prior to version 4.5.7. Specifically, both the jupyter:notebook and jupyterlab:jupyterlab products are affected when the sanitization rules still allow data-commandlinker-command and data-commandlinker-args attributes on button elements.

Risk and Exploitability

The vulnerability has a CVSS score of 8.6, indicating a high severity. EPSS data is not available, and it is not listed in the CISA KEV catalog. The likely attack vector is a user opening a notebook containing maliciously crafted output; a single click on the deceptive button is sufficient to trigger the exploit. The impact is total loss of confidentiality, integrity, and availability for the authenticated user session. Given the lack of mitigation from the user side, the risk of exploitation in environments that accept untrusted notebooks is significant.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade to JupyterLab 4.5.7 or later for all affected installations
  • For environments that cannot upgrade immediately, disable or remove data-commandlinker attributes from the HTML sanitizer configuration to prevent execution of commands from untrusted content
  • Audit and purge notebooks that may contain malicious HTML cells before sharing or executing them

Generated by OpenCVE AI on May 13, 2026 at 17:02 UTC.

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-mqcg-5x36-vfcg JupyterLab's command linker attributes in HTML enable one-click command execution from untrusted content
History
Type Values Removed Values Added
CPEs cpe:2.3:a:jupyter:jupyterlab:*:*:*:*:*:*:*:*
cpe:2.3:a:jupyter:notebook:*:*:*:*:*:*:*:*
Metrics cvssV3_1

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

Type Values Removed Values Added
Metrics ssvc

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

Type Values Removed Values Added
First Time appeared Jupyter
Jupyter jupyterlab
Jupyter notebook
Vendors & Products Jupyter
Jupyter jupyterlab
Jupyter notebook
Type Values Removed Values Added
Description jupyterlab is an extensible environment for interactive and reproducible computing, based on the Jupyter Notebook Architecture. Prior to 4.5.7, JupyterLab's HTML sanitizer allowlists data-commandlinker-command and data-commandlinker-args on button elements, while CommandLinker listens for all click events on document.body and executes the named command without checking whether the element came from trusted JupyterLab UI. A notebook with a pre-saved HTML cell output containing a deceptive button can trigger arbitrary JupyterLab commands - including arbitrary code execution - on a single user click, without any code being submitted for execution by the user. This vulnerability is fixed in 4.5.7.
Title jupyterlab: Command linker attributes in HTML enable one-click command execution from untrusted content
Weaknesses CWE-79
References
Metrics cvssV4_0

{'score': 8.6, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N'}

Weaknesses
  • CWE-79

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

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Aug 28, 2026, 12:04 PM
Reserved
Apr 28, 2026, 4:56 PM
Status
Modified
Published
May 13, 2026, 4:16 PM
Modified
Oct 25, 2026, 11:10 PM