Junglewise Threat Intelligence

Jupyter JupyterLab stored XSS in extension manager

Severity: medium · CVSS 5.1 · Published 2026-06-19

Vendors: Jupyter.

Executive brief

JupyterLab is a popular web-based interactive development environment for notebooks, code, and data. A vulnerability in its extension manager allows a malicious actor to execute unauthorized code in a user's browser if the user clicks on a specially crafted link within the extension search results. This could lead to the theft of sensitive information or unauthorized actions performed on behalf of the user within the JupyterLab environment.

Technical details

A stored cross-site scripting (XSS) vulnerability exists in the JupyterLab Extension Manager due to improper neutralization of URI schemes in package metadata. The component `jupyterlab/extensions/pypi.py` extracts homepage URLs from PyPI package metadata (e.g., `[project.urls]`) and passes them to the frontend without validating the protocol. An attacker can publish a malicious package to PyPI containing a `javascript:` URI. If a user has the Extension Manager enabled and clicks the extension's name in search results, the attacker-controlled JavaScript executes within the JupyterLab origin. This issue is patched in version 4.5.9.

Affected products

  • Jupyter JupyterLab <= 4.5.8

Timeline

  • 2026-06-18: disclosed
  • 2026-06-19: advisory
  • 2026-06-19: patched: Fixed in version 4.5.9

References