{"id":"GHSA-h5v5-8746-g7mm","aliases":[],"url":"https://o3.security/vulnerability/GHSA-h5v5-8746-g7mm","summary":"JupyterLab PluginManager lock-rule enforcement bypass","details":"JupyterLab's plugin manager exposes administrator controls intended to prevent users from enabling or disabling selected plugins. Two server-side enforcement gaps let an authenticated user bypass those controls with direct requests to `/lab/api/plugins`.\n\n### Impact\n\nUsers could workaround the plugin manager lock rules via direct API access for either:\n- child plugins of extensions covering multiple plugins\n- when \"lock all\" was issued by the administrator\n\nThe integrity of data can be impacted, and any hardening or restrictions on permitted user actions (e.g. download/upload limits) within the single-user server can be circumvented if those were implemented with plugins that were locked using the faulty mechanisms.\n\n### Patches\n\nJupyterLab [`v4.6.2`](https://github.com/jupyterlab/jupyterlab/releases/tag/v4.6.2) and [`v4.5.10`](https://github.com/jupyterlab/jupyterlab/releases/tag/v4.5.10) contain the patch.\n\nUsers of applications that depend on JupyterLab, such as Notebook v7+, should update `jupyterlab` package too.\n\n### Workarounds\n\nManually lock all plugins that should be locked. The core plugin identifiers can be found in [the documentation](https://jupyterlab.readthedocs.io/en/latest/extension/extension_points.html#core-plugins) and identifiers for all installed extensions are listed in the [Plugin Manager](https://jupyterlab.readthedocs.io/en/latest/user/extensions.html#managing-plugins-with-plugin-manager).","published":"2026-07-22T23:13:34Z","modified":"2026-08-08T09:26:58.136390127Z","cvss":null,"epss":null,"cisaKev":null,"exploitsKnown":0,"affectedPackages":[{"ecosystem":"PyPI","name":"jupyterlab","fixedVersion":"4.6.2"},{"ecosystem":"PyPI","name":"jupyterlab","fixedVersion":"4.5.10"}],"fix":{"url":"https://github.com/jupyterlab/jupyterlab/pull/19184","label":"jupyterlab/jupyterlab#19184"},"references":[{"type":"WEB","url":"https://github.com/jupyterlab/jupyterlab/security/advisories/GHSA-h5v5-8746-g7mm"},{"type":"WEB","url":"https://github.com/jupyterlab/jupyterlab/pull/19184"},{"type":"WEB","url":"https://github.com/jupyterlab/jupyterlab/pull/19185"},{"type":"WEB","url":"https://github.com/jupyterlab/jupyterlab/pull/19186"},{"type":"WEB","url":"https://github.com/jupyterlab/jupyterlab/commit/be9303f5bcd5308eaeae953c5a3c903046682c2c"},{"type":"WEB","url":"https://github.com/jupyterlab/jupyterlab/commit/f1beab4a2027af4719d6edc07d52d6cf5a39a432"},{"type":"PACKAGE","url":"https://github.com/jupyterlab/jupyterlab"},{"type":"WEB","url":"https://github.com/jupyterlab/jupyterlab/releases/tag/v4.5.10"},{"type":"WEB","url":"https://github.com/jupyterlab/jupyterlab/releases/tag/v4.6.2"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-08-08T09:26:58.136390127Z"}}