DEV Community

CVE Reports
CVE Reports

Posted on • Originally published at cvereports.com

GHSA-H5V5-8746-G7MM: GHSA-H5V5-8746-G7MM: JupyterLab PluginManager Lock-Rule Enforcement Bypass

GHSA-H5V5-8746-G7MM: JupyterLab PluginManager Lock-Rule Enforcement Bypass

Vulnerability ID: GHSA-H5V5-8746-G7MM
CVSS Score: 6.0
Published: 2026-07-22

JupyterLab's PluginManager contains an authorization bypass vulnerability allowing authenticated users to modify the state of locked extensions or plugins. Although the frontend user interface visually locks and disables toggle components for administrative configurations, the backend API fails to perform robust validation. Standard users can craft direct HTTP API requests to modify plugin states, completely bypassing administrative restrictions.

TL;DR

An authorization validation bypass and configuration mapping bug in JupyterLab's PluginManager allow authenticated users to circumvent extension locks and disable or enable arbitrary plugins through direct API requests.


⚠️ Exploit Status: POC

Technical Details

  • CWE ID: CWE-602, CWE-863
  • Attack Vector: Network
  • CVSS: 6.0
  • Impact: High Integrity, Low Confidentiality
  • Exploit Status: PoC Available
  • KEV Status: Not Listed

Affected Systems

  • jupyterlab
  • jupyterlab: >= 4.1.0, <= 4.5.9 (Fixed in: 4.5.10)
  • jupyterlab: >= 4.6.0, <= 4.6.1 (Fixed in: 4.6.2)

Code Analysis

Commit: be9303f

Ensure plugin manager verifies both plugin name and parent extension name when evaluating lock rules

Commit: f1beab4

Align configuration keys in LabApp option parser to ensure lock_all is loaded

Mitigation Strategies

  • Upgrade the JupyterLab environment to patched versions (4.5.10, 4.6.2, or later).
  • Explicitly register lock rules for individual child plugins rather than relying on parent extension-level locking.

Remediation Steps:

  1. Determine the active version of JupyterLab currently running in your production workspace.
  2. Update your packaging configuration (requirements.txt, Pipfile, environment.yml) to pull version 4.5.10 or 4.6.2 depending on the major version line.
  3. Rebuild your deployment container images or restart the JupyterLab host servers to apply the code changes.
  4. If immediate patching cannot be accomplished, identify all child plugins within locked extensions and manually apply locks to each sub-component.

References


Read the full report for GHSA-H5V5-8746-G7MM on our website for more details including interactive diagrams and full exploit analysis.

Top comments (0)