Jupyter Server: Missing authorization for kernel execution in Gateway WebSocket handler
Summary
Jupyter Server versions 2.0.0 up to 2.6.0 have a missing authorization check when GatewayClient.url is configured. The gateway WebSocket handler authenticates the user but does not ask the configured Authorizer whether the kernel execute action is allowed. An authenticated restricted user can therefore open an upstream kernel channel and run code in the kernel, which can expose data and credentials available to the kernel and allow modification or disruption of the kernel environment. The deprecated jupyter_server.gateway.handlers module still has the same flaw when registered manually in version 2.6.0 and later.
Affected
- Jupyter Server >= 2.0.0, < 2.6.0 with GatewayClient.url configured
- Jupyter Server 2.6.0 and later, if the deprecated module jupyter_server.gateway.handlers is registered manually (no fixed version known for this configuration)
Fixed in
- Fixed in Jupyter Server 2.6.0 for the default gateway configuration
- No fix known for the manually registered deprecated jupyter_server.gateway.handlers module
Workaround
- Unknown. No vendor-published workaround found.
- Likely not affected if gateway mode (GatewayClient.url) is not used (analysis, not a vendor statement).
- Remove any manual registration of jupyter_server.gateway.handlers.
Exploitation
- No evidence of exploitation in the wild found. CISA SSVC: Exploitation none, Automatable no, Technical Impact total.
- No public proof of concept found.
Our recommendation
- Inventory Jupyter Server versions (for example pip show jupyter-server, lockfiles, container images) and upgrade to 2.6.0 or later.
- Check whether GatewayClient.url is set; if yes, prioritise the upgrade.
- Check for and remove manual registrations of jupyter_server.gateway.handlers.
- Review which users have restricted Authorizer rights and whether those accounts are still needed.
- Make sure Jupyter servers are not reachable from the internet unless required.
Public exploits
PoC-in-GitHub, Metasploit and Exploit-DB list nothing for this CVE.
Research sources
- Fix commit 35ffe5d github.com
- Pull Request #1261 github.com
- Release v2.6.0 github.com
- GitHub Security Advisory GHSA-354v-3q48-cv69 github.com
- GitLab Advisory Database advisories.gitlab.com
- Ubuntu CVE record ubuntu.com
Researched and written up in English and German by an AI (Claude by Anthropic) based on NVD, CISA, EPSS and the sources listed. The vendor information is authoritative. Researched on 31 Oct 2026, 11:07.
Original description (NVD)
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.
NVD references (4)
- https://github.com/jupyter-server/jupyter_server/commit/35ffe5d435682128da16dc144a8e9e9f8fa85dd8
- https://github.com/jupyter-server/jupyter_server/pull/1261
- https://github.com/jupyter-server/jupyter_server/releases/tag/v2.6.0
- https://github.com/jupyter-server/jupyter_server/security/advisories/GHSA-354v-3q48-cv69
Sources
The tracker combines official, freely usable data sources – updated continuously:
- NVD (NIST) – CVEs, rating (CVSS), affected products
- CISA KEV – vulnerabilities confirmed by CISA as actively exploited
- CISA Vulnrichment – CISA assessment (SSVC) in the official CVE record
- FIRST EPSS – probability of exploitation
- Microsoft MSRC – Patch Tuesday: vulnerabilities, severity, updates
- PoC-in-GitHub – public proof-of-concept repositories
- Metasploit (Rapid7) – modules of the Metasploit Framework
- Exploit-DB (OffSec) – archive of public exploits (links only)
- Patch days: official vendor pages (linked per vendor) (Vendor patch days)
This product uses data from the NVD API but is not endorsed or certified by the NVD. EPSS data © FIRST.org.
Affected? We can help.
We check whether your systems are affected, install updates and close the gap – continuously with the System Health Checker if you wish.
