Advisory Database
  • Advisories
  • Dependency Scanning
  1. pypi
  2. ›
  3. jupyterlab
  4. ›
  5. GHSA-whvh-wf3x-g77j

GHSA-whvh-wf3x-g77j: JupyterLab: Allowlist/blocklist check in `PyPIExtensionManager.install()` not enforced for direct callers (missing `await`)

July 22, 2026

The extension allowlist/blocklist check inside PyPIExtensionManager.install() was not enforced due to a missing await. For purposes of JupyterLab this was a secondary defense-in-depth check: install() was intended to enforce the allowlist/blocklist itself for any future uses and users calling this method directly (in addition to the separate check handling requests arriving through the HTTP API). The only runtime symptom was a RuntimeWarning: coroutine 'is_install_allowed' was never awaited.

This has security implications only for deployments that combine all of the following:

  • a custom extension or downstream integration that imports PyPIExtensionManager and calls install() directly with a package name influenced by untrusted user input (the stock JupyterLab HTTP handler is not affected - it performs its own awaited allowlist check before calling install());
  • an allowlist/blocklist configured with the intent of restricting which packages users can install;
  • the (default) PyPI Extension Manager enabled; and
  • kernels and terminals disabled or delegated to remote hosts, so that the custom extension’s install() call is the only available package-install vector (otherwise a user with kernel access can install packages directly regardless of this check)

References

  • github.com/advisories/GHSA-whvh-wf3x-g77j
  • github.com/jupyterlab/jupyterlab/commit/be9303f5bcd5308eaeae953c5a3c903046682c2c
  • github.com/jupyterlab/jupyterlab/commit/f1beab4a2027af4719d6edc07d52d6cf5a39a432
  • github.com/jupyterlab/jupyterlab/pull/19184
  • github.com/jupyterlab/jupyterlab/pull/19185
  • github.com/jupyterlab/jupyterlab/pull/19186
  • github.com/jupyterlab/jupyterlab/releases/tag/v4.5.10
  • github.com/jupyterlab/jupyterlab/releases/tag/v4.6.2
  • github.com/jupyterlab/jupyterlab/security/advisories/GHSA-whvh-wf3x-g77j

Code Behaviors & Features

Detect and mitigate GHSA-whvh-wf3x-g77j 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 →

Affected versions

All versions before 4.5.10, all versions starting from 4.6.0 before 4.6.2

Fixed versions

  • 4.5.10
  • 4.6.2

Solution

Upgrade to versions 4.5.10, 4.6.2 or above.

Impact

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:N

Learn more about CVSS

Weakness

  • CWE-284: Improper Access Control
  • CWE-636: Not Failing Securely ('Failing Open')

Source file

pypi/jupyterlab/GHSA-whvh-wf3x-g77j.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Sat, 08 Aug 2026 00:18:46 +0000.