CVE-2026-73626

NameCVE-2026-73626
DescriptionJupyterLab 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.
SourceCVE (at NVD; CERT, ENISA, LWN, oss-sec, fulldisc, Debian ELTS, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more)
Debian Bugs1144343

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
jupyterlab (PTS)trixie4.0.11+ds1+~cs11.25.27-7vulnerable
forky4.4.10+ds1+~3.1.0+~0.16.6+~cs1.4.4-4fixed
sid4.4.10+ds1+~3.1.0+~0.16.6+~cs1.4.4-5fixed

The information below is based on the following data on fixed versions.

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs
jupyterlabsource(unstable)4.4.10+ds1+~3.1.0+~0.16.6+~cs1.4.4-41144343

Notes

https://github.com/jupyterlab/jupyterlab/security/advisories/GHSA-whvh-wf3x-g77j
Fixed by: https://github.com/jupyterlab/jupyterlab/commit/be9303f5bcd5308eaeae953c5a3c903046682c2c (v4.5.10)

Search for package or bug name: Reporting problems