CVE-2026-73626
Reported by VulnCheck · Published August 13, 2026
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.
Risk Scores
Affected Products
| Vendor | Product | Versions |
|---|---|---|
| jupyterlab | jupyterlab | 4.6.0, 4.6.1 |
| jupyterlab | jupyterlab | 0, 4.5.10 |
| jupyter | jupyterlab | 4.6.0, 0, 4.6.0 |
| jupyterlab | jupyterlab | 4.6.0, 4.6.1, 0 |
Timeline
- Aug 13, 2026 Coalition ESS Score
- Aug 13, 2026 CVE Published
- Aug 20, 2026 Security Advisory
- Aug 24, 2026 EPSS Score
- Aug 29, 2026 EPSS Score
- Sep 9, 2026 EPSS Score
- Sep 12, 2026 EPSS Score
- Sep 17, 2026 EPSS Score
- Sep 18, 2026 EPSS Score
- Sep 24, 2026 EPSS Score
- Sep 26, 2026 EPSS Score
- Sep 30, 2026 EPSS Score
References
- GitHub Security Advisory (GHSA-whvh-wf3x-g77j) vendor-advisory
- VulnCheck Advisory: JupyterLab before 4.6.2 Authentication Bypass via PyPIExtensionManager third-party-advisory