Description
Jupyter Server is the backend for Jupyter web applications. From 2.0.0 until 2.6.0, enabling GatewayClient.url replaced the normal KernelWebsocketHandler with WebSocketChannelsHandler, which authenticated the user but did not call authorizer.is_authorized(...) for the execute action on the kernels resource. A restricted authenticated user could therefore open an upstream kernel channel and obtain kernel execution despite the configured Authorizer denying that action, exposing data and credentials available to the kernel and permitting modification or disruption of the kernel environment. The default gateway configuration is fixed in version 2.6.0. In 2.6.0 and later, the same authorization bypass remains possible when a deployment manually registers the deprecated jupyter_server.gateway.handlers module, because its handler still omits the configured kernel-execute authorization decision.
Published: 2026-10-21
Score: 8.8 High
EPSS: < 1% Very Low
KEV: No
Impact: Kernel execution bypass leading to data exposure and potential modification of the kernel environment
Action: Patch
AI Analysis

Impact

Jupyter Server versions 2.0.0 through 2.6.0 allowed a GatewayClient.url configuration to replace the normal kernel websocket handler with a channel handler that authenticated the user but omitted a required authorization check for kernel execution. This is a credential or privilege escalation vulnerability that enables an authenticated but restricted user to open an upstream kernel channel and run code as the kernel, exposing data, credentials, and permitting environment modification.

Affected Systems

The vulnerability affects the Jupyter Server product from the jupyter‑server vendor. All releases between 2.0.0 and 2.6.0 are impacted. Any deployment that manually registers the deprecated jupyter_server.gateway.handlers module after 2.6.0 remains at risk, because the handler still bypasses kernel‑execute authorization.

Risk and Exploitability

The CVSS score of 8.8 indicates a high severity. The EPSS score of < 1% indicates a very low but non‑zero likelihood of exploitation, and the vulnerability is not listed in the CISA KEV catalog. Based on the description, it is inferred that the likely attack vector is network‑based via the GatewayClient WebSocket channel, which can bypass authorization once the user is authenticated. An attacker can execute arbitrary code on the kernel, potentially compromising data and system integrity.

Generated by OpenCVE AI on October 22, 2026 at 15:44 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade to Jupyter Server version 2.6.0 or later and ensure the gateway configuration is not manually overridden
  • Remove any manual registration of the jupyter_server.gateway.handlers module from your deployment
  • Verify that your authentication and authorizer settings correctly enforce kernel execute permissions for all users

Generated by OpenCVE AI on October 22, 2026 at 15:44 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-354v-3q48-cv69 Jupyter Server: Gateway WebSocket handler bypasses kernel execute authorization
History

Wed, 28 Oct 2026 02:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Thu, 22 Oct 2026 12:30:00 +0000

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

None

threat_severity

Important


Thu, 22 Oct 2026 10:45:00 +0000

Type Values Removed Values Added
First Time appeared Jupyter
Jupyter jupyter Server
Vendors & Products Jupyter
Jupyter jupyter Server

Wed, 21 Oct 2026 20:15:00 +0000

Type Values Removed Values Added
Description Jupyter Server is the backend for Jupyter web applications. From 2.0.0 until 2.6.0, enabling GatewayClient.url replaced the normal KernelWebsocketHandler with WebSocketChannelsHandler, which authenticated the user but did not call authorizer.is_authorized(...) for the execute action on the kernels resource. A restricted authenticated user could therefore open an upstream kernel channel and obtain kernel execution despite the configured Authorizer denying that action, exposing data and credentials available to the kernel and permitting modification or disruption of the kernel environment. The default gateway configuration is fixed in version 2.6.0. In 2.6.0 and later, the same authorization bypass remains possible when a deployment manually registers the deprecated jupyter_server.gateway.handlers module, because its handler still omits the configured kernel-execute authorization decision.
Title Jupyter Server: Gateway WebSocket handler bypasses kernel execute authorization
Weaknesses CWE-862
References
Metrics cvssV3_1

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


Subscriptions

Jupyter Jupyter Server
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-28T01:36:08.532Z

Reserved: 2026-10-20T21:53:58.473Z

Link: CVE-2026-114135

cve-icon Vulnrichment

Updated: 2026-10-28T01:36:01.101Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-10-21T20:17:25.407

Modified: 2026-10-28T02:17:05.233

Link: CVE-2026-114135

cve-icon Redhat

Severity : Important

Publid Date: 2026-10-21T19:58:51Z

Links: CVE-2026-114135 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-22T15:45:08Z

Weaknesses
  • CWE-425

    Direct Request ('Forced Browsing')

  • CWE-862

    Missing Authorization