Description (CNA)
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.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| jupyterlab / jupyterlab | affected 4.6.0 before 4.6.1; unaffected 4.6.1 |
| jupyterlab / jupyterlab | affected 0 before 4.5.10; unaffected 4.5.10 |
CWE
CWE-284
References
- https://github.com/jupyterlab/jupyterlab/security/advisories/GHSA-whvh-wf3x-g77j
- https://www.vulncheck.com/advisories/jupyterlab-before-authentication-bypass-via-pypiextensionmanager
ADP enrichment
No English description supplied.
No references supplied.