CVE-2026-73626: JupyterLab before 4.6.2 Authentication Bypass via PyPIExtensionManager
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 isinstallallowed 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.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
JupyterLabto a version that resolves this vulnerability.Fixed in 4.6.2 - Upgrade
Upgrade
JupyterLabto a version that resolves this vulnerability.Fixed in 4.5.10
Event History
Frequently Asked Questions
What is the severity of CVE-2026-73626?
The severity of CVE-2026-73626 is low.
How do I fix CVE-2026-73626?
To fix CVE-2026-73626, update JupyterLab to version 4.6.2 or later.
What versions of JupyterLab are affected by CVE-2026-73626?
JupyterLab versions 4.6.0 to 4.6.1 and 4.5.9 are affected by CVE-2026-73626.
What type of vulnerability is CVE-2026-73626?
CVE-2026-73626 is an authentication bypass vulnerability.
What component of JupyterLab is impacted by CVE-2026-73626?
CVE-2026-73626 impacts the PyPIExtensionManager component of JupyterLab.