Junglewise Threat Intelligence

CVE-2026-67338: JupyterLab stored cross-site scripting in Extension Manager

CVE-2026-67338 · Severity: medium · CVSS 6.1 · Published 2026-08-01

Technologies: JupyterLab.

Executive brief

JupyterLab's Extension Manager is a feature that allows users to discover and install extensions to enhance the notebook environment. A vulnerability in the Extension Manager fails to validate protocol types in package metadata URLs, allowing an attacker to publish a malicious PyPI package with JavaScript execution code embedded in the project metadata. When a user clicks on the extension name, arbitrary JavaScript executes in the JupyterLab application context, potentially leading to credential theft, data exfiltration, or unauthorized actions.

Technical details

This is a stored cross-site scripting (XSS) vulnerability in JupyterLab's Extension Manager component, specifically in the `homepage_url` field handling within package metadata. The vulnerability arises from insufficient URI protocol validation when rendering extension names as clickable links. An attacker can publish a malicious PyPI package with a `javascript:` URL in the project metadata; when a JupyterLab user clicks the extension name link, the JavaScript URL executes in the JupyterLab origin context. No user authentication is required; exploitation requires that a user install and view a malicious extension in the Extension Manager. The fix restricts allowed URL protocols (e.g., to http/https only) and forbids relative URLs to prevent JavaScript protocol execution. Patches are available in JupyterLab 4.5.9 and later.

Affected products

  • JupyterLab JupyterLab before 4.5.9

Timeline

  • 2026-08-01: disclosed
  • 2026: patched: Fix released in JupyterLab 4.5.9

References