Skip to main content
← All vulnerabilities
CVE-2026-73626GHSA-WHVH-WF3X-G77JBIT-JUPYTERLAB-2026-73626

JupyterLab before 4.6.2 Authentication Bypass via PyPIExtensionManager

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 4.6.1, 4.5.10, 4.6.2
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: partial

Summary

JupyterLab versions >=4.6.0,<=4.6.1 and <=4.5.9 contain an allowlist/blocklist enforcement gap in PyPIExtensionManager.install(). A missing 'await' caused the is_install_allowed coroutine to never execute, so the extension allowlist/blocklist check was not enforced for direct callers of install(). The stock JupyterLab HTTP API and Extension Manager UI are not affected, as they perform a separate, correctly awaited check. The issue affects only deployments where a custom extension or downstream integration imports PyPIExtensionManager and calls install() directly with a package name influenced by untrusted input, an allowlist/blocklist is configured, the PyPI Extension Manager is enabled, and kernels and terminals are disabled or delegated to remote hosts. Fixed in JupyterLab 4.6.2 and 4.5.10.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • jupyterlab jupyterlab

    From 4.6.0 · fixed in 4.6.1

  • jupyterlab jupyterlab

    fixed in 4.5.10

  • jupyterlabPyPI

    From 4.6.0 · fixed in 4.6.2

  • jupyterlabPyPI

    fixed in 4.5.10

References 2

GitHub · jupyterlab/jupyterlab

vulncheck.com