Description
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.
Published: 2026-08-13
Score: 7.7 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

A flaw in JupyterLab’s PyPIExtensionManager.install() method allows the configured allowlist and blocklist to be bypassed because a missing await statement prevents the is_install_allowed coroutine from executing for callers that invoke install() directly. This gap means that, if an untrusted input is supplied as a package name, the extension can be installed without any of the normal authorization checks, giving the installer privileged access to the JupyterLab environment.

Affected Systems

The vulnerability affects JupyterLab versions 4.5.9 and 4.6.0 through 4.6.1 when the PyPIExtensionManager is used directly. Deployment must have a custom extension or downstream integration that imports PyPIExtensionManager and calls install() with a package name derived from untrusted input, the allowlist/blocklist configuration must be present, the PyPI Extension Manager feature must enabled, and kernels and terminals must be disabled or delegated to remote hosts to fully expose the flaw.

Risk and Exploitability

The EPSS score of <1% and the fact that the vulnerability is not listed in the CISA KEV catalog indicate a low exploitation probability in general. However, the CVSS score of 7.7 classifies the flaw as high severity. Once the specific preconditions are met, an attacker can install arbitrary extensions with full JupyterLab privileges. The risk remains high in environments where install() is exposed directly, the allowlist/blocklist is active, and kernels/terminals are disabled or remote, whereas systems lacking these conditions face a lower exploitation risk.

Generated by OpenCVE AI on August 28, 2026 at 20:16 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to JupyterLab version 4.6.2 or 4.5.10 to apply the official fix that restores proper authorization checks (CWE-284) and corrects the missing await (CWE-358).
  • If an upgrade is not feasible, patch the PyPIExtensionManager.install() code by adding the missing await statement and ensuring that is_install_allowed runs before the installation proceeds; this limits the authorization bypass (CWE-284) and fixes the async omission (CWE-358).
  • Restrict direct calls to PyPIExtensionManager.install by disabling or sandboxing custom extensions or downstream integrations that could supply untrusted input, and verify that the allowlist/blocklist is active while kernels and terminals remain disabled or are delegated to remote hosts.

Generated by OpenCVE AI on August 28, 2026 at 20:16 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 28 Aug 2026 15:30:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 0, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:N'}

cvssV4_0

{'score': 0, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:N/SC:N/SI:N/SA:N'}

cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H'}

cvssV4_0

{'score': 7.7, 'vector': 'CVSS:4.0/AV:N/AC:H/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N'}


Sat, 15 Aug 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-358
References
Metrics threat_severity

None

threat_severity

Low


Thu, 13 Aug 2026 13:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Thu, 13 Aug 2026 11:45:00 +0000

Type Values Removed Values Added
Description 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.
Title JupyterLab before 4.6.2 Authentication Bypass via PyPIExtensionManager
First Time appeared Jupyter
Jupyter jupyterlab
Weaknesses CWE-284
CPEs cpe:2.3:a:jupyter:jupyterlab:*:*:*:*:*:*:*:*
Vendors & Products Jupyter
Jupyter jupyterlab
References
Metrics cvssV3_1

{'score': 0, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:N'}

cvssV4_0

{'score': 0, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:N/SC:N/SI:N/SA:N'}


Subscriptions

Jupyter Jupyterlab
cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-08-28T13:45:55.401Z

Reserved: 2026-08-13T11:17:25.160Z

Link: CVE-2026-73626

cve-icon Vulnrichment

Updated: 2026-08-13T12:57:41.554Z

cve-icon NVD

Status : Received

Published: 2026-08-13T12:17:27.897

Modified: 2026-08-28T16:18:24.293

Link: CVE-2026-73626

cve-icon Redhat

Severity : Low

Publid Date: 2026-08-13T11:28:25Z

Links: CVE-2026-73626 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-28T20:30:08Z

Weaknesses
  • CWE-284

    Improper Access Control

  • CWE-358

    Improperly Implemented Security Check for Standard