Vulnerability

JupyterLab Desktop Local Server Token Exposure Leading to Code Execution (CVE-2026-86044)

A flaw in JupyterLab Desktop's background IPC method, getServerInfo.

CVE ID
CVE-2026-86044
CVSS
9.6 Critical (CVSS v3.1, vector CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H, GitHub as CNA); no CVSS 4.0 score in the record or NVD
Affected product
JupyterLab Desktop, before 4.6.2-1
Exploited
Unknown
Published
6 November 2026 (CVE record and NVD); GitHub advisory published 24 July 2026

In short

CVE-2026-86044 is a flaw in JupyterLab Desktop's background IPC method, getServerInfo. The method kept returning the local Jupyter server's address and authentication token to the app window, even after that window had navigated to an outside site. GitHub's advisory and NVD score it CVSS 3.1 9.6 Critical and name 4.6.2-1 as the fixed release.

Profile MapVulnerability
  1. CVECVE-2026-86044
  2. ProductJupyter (open source project) JupyterLab Desktop, before 4.6.2-1
  3. Fix Steps4actions listed

What it allows

JupyterLab Desktop is the packaged desktop app for JupyterLab, which runs notebooks against a local Jupyter server. The advisory says the app's preload bridge exposed a getServerInfo method to the page running inside its window. That method returned the local server's full address and authentication token.

The advisory says the method kept answering even after the window had navigated away from the JupyterLab page itself. Normally a notebook's security model stops a rendered link from taking over the existing window, by opening an outside site in a new window instead.

How the CVE-2026-86044 Attack Chain Works

The advisory describes three linked steps. First, in JupyterLab before 4.4.8, a link rendered by the MathJax HTML extension did not get the usual new-window handling.

Clicking that link could navigate the existing JupyterLab Desktop window itself to an outside site. Second, once that outside page was running in the same window, it could still call getServerInfo through the preload bridge and read the local server's address and token.

Third, the advisory says that token lets the outside page use the Jupyter REST API to create a notebook, mark it trusted, and open it. The advisory says that is equivalent to running code on the victim's machine.

The advisory is explicit that a victim must open an untrusted notebook and click one link inside it. JetBrains-style Safe Mode is not part of this product, so Jupyter's own notebook trust model is the only barrier the flaw gets past.

How the Score Reads

GitHub, the CNA, scores it CVSS 3.1 9.6 Critical, vector CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H. The UI:R component matches the advisory's own condition that a victim must click a link. There is no CVSS 4.0 score in the record or NVD.

What the Advisory and CISA KEV Say

GitHub's advisory was filed through its own coordinated disclosure process for open-source projects. As of CISA catalogue version 2026.11.06, CVE-2026-86044 is not in the Known Exploited Vulnerabilities catalogue.

Who is affected

NVD's own description states the affected range as JupyterLab Desktop prior to 4.6.2-1, on every platform the app ships for. The advisory's own structured version field is narrower, listing tested and affected installs as v4.2.5-1 and earlier, since that was the newest release when the issue was first reported.

The advisory lists four conditions that must all hold for a session to be at risk. The Desktop app must be on an affected release, and the JupyterLab version in that environment must be earlier than 4.4.8. The session must be a local one the app manages itself, which is the default, and the victim must click a link inside a notebook.

A user whose environment already runs JupyterLab 4.4.8 or later is not affected, the advisory says. The corrected link handling in that release stops the first step of the chain, even without a Desktop app update.

Timeline

  1. 22 Jul 2026

    JupyterLab Desktop 4.6.2-1 is released, the project's first release in two years, patching this flaw along with three other security issues.

  2. 24 Jul 2026

    GitHub publishes the security advisory GHSA-2mr8-962v-wc67 for JupyterLab Desktop, ahead of a CVE identifier.

  3. 6 Nov 2026

    GitHub publishes the CVE record for CVE-2026-86044, and NVD publishes its entry, both naming the fix in JupyterLab Desktop 4.6.2-1.

What to do

  1. Update JupyterLab Desktop to 4.6.2-1

    Move every JupyterLab Desktop install to 4.6.2-1 or later, per the GitHub advisory, which closes both the token-exposure method and the underlying link handling.

  2. Upgrade the JupyterLab Library if You Cannot Update Desktop Yet

    The advisory says raising JupyterLab itself to 4.4.8 or later inside the managed environment breaks the first step of the chain, even on an older Desktop build.

  3. Disable the MathJax Extension as an Interim Step

    The advisory names jupyter labextension disable @jupyterlab/mathjax-extension as a workaround for installs that cannot upgrade either component yet.

  4. Treat Unfamiliar Notebooks as Untrusted

    We recommend not opening a notebook from an unknown source in JupyterLab Desktop, and not clicking a link inside a notebook whose origin is unclear.

Questions

Which JupyterLab Desktop version fixes CVE-2026-86044?

4.6.2-1. The advisory also says raising the underlying JupyterLab library to 4.4.8 or later breaks the first step of the attack chain.

Does a victim need to do anything for this flaw to work?

Yes. The advisory says a victim must open an untrusted notebook and click one link inside it; the chain does not run without that click.

Does CVE-2026-86044 affect every JupyterLab Desktop session?

No. The advisory limits it to local sessions, which the app manages itself by default, on a JupyterLab version earlier than 4.4.8.

Is CVE-2026-86044 in the CISA KEV catalogue?

It is not in catalogue version 2026.11.06. The advisory does not state that the flaw has been exploited.

In our research

  1. Credential theft Glossary term
  2. Social engineering Glossary term

Sources

  1. CVE-2026-86044 Record CVE Program / GitHub CNA
  2. CVE-2026-86044 NVD
  3. GHSA-2mr8-962v-wc67, local server token exposure in JupyterLab Desktop jupyterlab/jupyterlab-desktop on GitHub
  4. JupyterLab Desktop v4.6.2-1 release jupyterlab/jupyterlab-desktop on GitHub
  5. Known Exploited Vulnerabilities Catalog CISA