CVE-2026-42266: JupyterHub has an Extension Manager API/GUI Policy Discrepancy, allowing 3rd party (malicious) extensions install via POST request
The allow-list of extensions that can be installed from PyPI Extension Manager (allowed_extensions_uris) is not correctly enforced by JupyterLab prior to 4.5.X. The PyPI Extension Manager was not contained to packages listed on the default PyPI index.
This has security implications for deployments that:
- have allow-listed specific extensions with aim to prevent users from installing packages
- have the kernel and terminals disabled or delegated to remote hosts (thus no access to install packages in the single-user server environment)
- have multi-tenant deployments that is not configured for untrusted users (as per documented on JupyterHub https://jupyterhub.readthedocs.io/en/5.2.1/explanation/websecurity.html)
- have the (default) PyPI Extension Manger enabled
References
- github.com/advisories/GHSA-37w4-hwhx-4rc4
- github.com/jupyterlab/jupyterlab
- github.com/jupyterlab/jupyterlab/releases/tag/v4.5.7
- github.com/jupyterlab/jupyterlab/security/advisories/GHSA-37w4-hwhx-4rc4
- jupyterhub.readthedocs.io/en/5.2.1/explanation/websecurity.html
- jupyterlab.readthedocs.io/en/latest/user/extensions.html
- nvd.nist.gov/vuln/detail/CVE-2026-42266
Code Behaviors & Features
Detect and mitigate CVE-2026-42266 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →