CVE-2026-73627: JupyterLab: plugin lock bypass evades admin hardening

MEDIUM
Published August 13, 2026
CISO Take

JupyterLab's plugin manager fails to enforce administrator-configured 'lock' rules on the server side, letting any authenticated user re-enable or disable plugins that were supposed to be locked down — including child plugins of multi-plugin extensions and everything covered by 'lock all' — by calling the /lab/api/plugins endpoint directly instead of going through the UI. The blast radius is meaningful given jupyterlab's 1,886 downstream dependents and its common use in shared, multi-tenant JupyterHub deployments where lock rules are the primary control preventing users from loosening data-handling restrictions such as upload/download limits. There's no public exploit code, no Nuclei template, it's not in CISA KEV, EPSS sits at a low 0.25% (top 83rd percentile), and CISA's SSVC decision is TRACK — so this is not an urgent, actively-exploited issue. Still, in shared notebook environments that rely on lock rules for data-loss-prevention or compliance hardening, this is a real integrity gap that a low-privilege authenticated user can quietly exploit. Patch to 4.6.2 (or 4.5.10 on the 4.5.x line), and in the interim audit any multi-tenant Jupyter deployment that depends on plugin lock enforcement, monitoring direct calls to /lab/api/plugins as a detection signal.

Sources: NVD GitHub Advisory EPSS OpenSSF CISA SSVC vulncheck.com

What is the risk?

Medium severity with no published CVSS vector, reflecting a realistic but bounded risk: exploitation requires an already-authenticated session (no external attacker access), the bypass is a configuration/authorization-enforcement gap rather than a code-execution primitive, and CISA's SSVC decision of TRACK confirms it doesn't warrant emergency action. EPSS (0.25%, 83rd percentile) and the absence of KEV listing, public PoC, or scanner templates further support a non-urgent classification. The risk concentrates almost entirely in multi-tenant/shared deployments (JupyterHub, managed notebook platforms) where administrators actively rely on lock rules to restrict what less-trusted users can do — single-user or fully-trusted JupyterLab installs see negligible practical risk from this issue.

How does the attack unfold?

Authenticated Entry
Attacker holds valid, but restricted, credentials on a shared/multi-tenant JupyterLab deployment where administrators have locked specific plugins.
API-Level Bypass
Instead of using the JupyterLab UI (which respects lock rules), the attacker sends direct requests to the /lab/api/plugins endpoint, exploiting the missing server-side enforcement to toggle locked plugins.
Control Circumvention
Locked hardening controls, such as upload/download limits or disabled extensions, are silently re-enabled or removed, restoring capabilities the administrator intended to block.
Impact
The attacker leverages the restored capability (e.g., unrestricted download) to exfiltrate data or otherwise violate the data integrity and governance posture the lock rules were meant to enforce.

What systems are affected?

Package Ecosystem Vulnerable Range Patched
Jupyter pip — No patch
13.4K OpenSSF 5.8 1.9K dependents Pushed 4d ago 57% patched ~35d to patch Full package profile →

Do you use Jupyter? You're affected.

How severe is it?

CVSS 3.1
N/A
EPSS
0.4%
chance of exploitation in 30 days
Higher than 34% of all CVEs
Exploitation Status
No known exploitation
Sophistication
Trivial

What should I do?

1 step
  1. 1) Upgrade to jupyterlab 4.6.2 (for the 4.6.x line) or 4.5.10 (for the 4.5.x line) as soon as operationally feasible. 2) In shared/multi-tenant deployments, treat plugin lock rules as compromised until patched — do not rely on them as the sole control for data-loss-prevention (e.g., upload/download limits) in the interim; layer network- or proxy-level controls instead. 3) Review server/access logs for direct calls to /lab/api/plugins that don't correlate with expected admin UI actions, which would indicate attempted or successful bypass. 4) After patching, audit current plugin state against the intended lock configuration to confirm no plugins were silently toggled while the flaw was present. 5) Restrict who has authenticated access to shared Jupyter environments as a general defense-in-depth measure, since exploitation requires only authentication, not elevated privileges.

What does CISA's SSVC say?

Decision Track
Exploitation none
Automatable No
Technical Impact partial

Source: CISA Vulnrichment (SSVC v2.0). Decision based on the CISA Coordinator decision tree.

How is it classified?

Auth Bypass Data Leakage Plugin Framework

Which compliance frameworks are affected?

This CVE is relevant to:

ISO 42001
A.6.2.6 - AI system operation and monitoring
NIST AI RMF
MANAGE 4.1 - Post-deployment AI system monitoring

Frequently Asked Questions

What is CVE-2026-73627?

JupyterLab's plugin manager fails to enforce administrator-configured 'lock' rules on the server side, letting any authenticated user re-enable or disable plugins that were supposed to be locked down — including child plugins of multi-plugin extensions and everything covered by 'lock all' — by calling the /lab/api/plugins endpoint directly instead of going through the UI. The blast radius is meaningful given jupyterlab's 1,886 downstream dependents and its common use in shared, multi-tenant JupyterHub deployments where lock rules are the primary control preventing users from loosening data-handling restrictions such as upload/download limits. There's no public exploit code, no Nuclei template, it's not in CISA KEV, EPSS sits at a low 0.25% (top 83rd percentile), and CISA's SSVC decision is TRACK — so this is not an urgent, actively-exploited issue. Still, in shared notebook environments that rely on lock rules for data-loss-prevention or compliance hardening, this is a real integrity gap that a low-privilege authenticated user can quietly exploit. Patch to 4.6.2 (or 4.5.10 on the 4.5.x line), and in the interim audit any multi-tenant Jupyter deployment that depends on plugin lock enforcement, monitoring direct calls to /lab/api/plugins as a detection signal.

Is CVE-2026-73627 actively exploited?

No confirmed active exploitation of CVE-2026-73627 has been reported, but organizations should still patch proactively.

How to fix CVE-2026-73627?

1) Upgrade to jupyterlab 4.6.2 (for the 4.6.x line) or 4.5.10 (for the 4.5.x line) as soon as operationally feasible. 2) In shared/multi-tenant deployments, treat plugin lock rules as compromised until patched — do not rely on them as the sole control for data-loss-prevention (e.g., upload/download limits) in the interim; layer network- or proxy-level controls instead. 3) Review server/access logs for direct calls to /lab/api/plugins that don't correlate with expected admin UI actions, which would indicate attempted or successful bypass. 4) After patching, audit current plugin state against the intended lock configuration to confirm no plugins were silently toggled while the flaw was present. 5) Restrict who has authenticated access to shared Jupyter environments as a general defense-in-depth measure, since exploitation requires only authentication, not elevated privileges.

What systems are affected by CVE-2026-73627?

This vulnerability affects the following AI/ML architecture patterns: training pipelines, notebook-based development environments, multi-tenant ML platforms.

What is the CVSS score for CVE-2026-73627?

No CVSS score has been assigned yet.

What is the AI security impact?

Affected AI Architectures

training pipelinesnotebook-based development environmentsmulti-tenant ML platforms

Compliance Controls Affected

ISO 42001: A.6.2.6
NIST AI RMF: MANAGE 4.1

What are the technical details?

Original Advisory

JupyterLab (pip package 'jupyterlab') versions >=4.1.0,<=4.5.9 and >=4.6.0,<=4.6.1 contain a plugin manager lock-rule enforcement bypass. Two server-side enforcement gaps allow an authenticated user to circumvent administrator lock rules by making direct requests to the /lab/api/plugins endpoint, enabling or disabling plugins that were locked — including child plugins of multi-plugin extensions and plugins locked via the 'lock all' mechanism. This can impact data integrity and bypass hardening or restrictions (e.g., download/upload limits) implemented through locked plugins. Fixed in versions 4.6.2 and 4.5.10.

Exploitation Scenario

In a JupyterHub-backed ML platform, an organization locks the 'download' plugin to cap dataset exfiltration to small file sizes as a DLP control for a shared training environment. A data scientist with standard (non-admin) authenticated access, instead of using the JupyterLab UI, sends a direct HTTP request to /lab/api/plugins to disable the enforcement of that lock. With the restriction lifted, they proceed to download a full proprietary training dataset or model checkpoint that the lock rule was specifically designed to prevent — leaving no trace in the UI-level audit path administrators expected to monitor, since the bypass occurs entirely at the API layer.

Weaknesses (CWE)

CWE-602 — Client-Side Enforcement of Server-Side Security: The product is composed of a server that relies on the client to implement a mechanism that is intended to protect the server.

  • [Architecture and Design] For any security checks that are performed on the client side, ensure that these checks are duplicated on the server side. Attackers can bypass the client-side checks by modifying values after the checks have been performed, or by changing the client to remove the client-side checks entirely. Then, these modified values would be submitted to the server. Even though client-side checks provide minimal benefits with respect to server-side security, they are still useful. First, they can support intrusion detection. If the server receives input that should have been rejected by the client, then it may be an indication of an attack. Second, client-side error-checking can provide helpful feedback to the user about the expectations for valid input. Third, there may be a reduction in server-side processing time for accidental input errors, although this is typically a small savings.
  • [Architecture and Design] If some degree of trust is required between the two entities, then use integrity checking and strong authentication to ensure that the inputs are coming from a trusted source. Design the product so that this trust is managed in a centralized fashion, especially if there are complex or numerous communication channels, in order to reduce the risks that the implementer will mistakenly omit a check in a single code path.

Source: MITRE CWE corpus.

Timeline

Published
August 13, 2026
Last Modified
August 15, 2026
First Seen
August 13, 2026

Related Vulnerabilities