Description
Jupyter Enterprise Gateway launches remote Jupyter Notebook kernels across distributed clusters like Apache Spark, Kubernetes, and Docker Swarm. Versions 2.0.0rc1 and above prior to 3.3.0 have a prohibited UID and GID feature that by default prevents launching kernels with UID or GID 0 (root), and this restriction can be bypassed using a specially crafted KERNEL_UID or KERNEL_GID value. This input validation vulnerability allows running Jupyter kernels as root, which can be dangerous as it allows more attack surface, and may lead to container escapes, compromising the worker node and all workloads running on it. Repeated exploitation can compromise all worker nodes, and thus the entire Kubernetes cluster. It is possible to specify volume mounts, so one vector for a container escape is to use a hostPath R/W volume mount, use this UID/GID bypass to run as root, and then gain code execution in the underlying worker node by creating a crontab entry in the mounted host file system. This issue has been fixed in version 3.0.0.
Published: 2026-07-16
Score: 9.8 Critical
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability lies in insufficient input validation within Jupyter Enterprise Gateway's ContainerProcessProxy._enforce_prohibited_ids method. Jupyter Enterprise Gateway launches remote Jupyter Notebook kernels across distributed clusters such as Apache Spark, Kubernetes, and Docker Swarm. Versions 2.0.0rc1 through the 3.2.x releases prior to 3.3.0 disabled launching kernels with UID or GID 0 by default, but this restriction can be bypassed with a specially crafted KERNEL_UID or KERNEL_GID. An attacker can craft such values to launch a kernel as root inside the container. Running as root greatly expands the attack surface; the attacker can mount a hostPath read‑write volume, elevate to root within the container, and then create a crontab entry or otherwise execute code on the underlying worker node. This permits a full container escape that can compromise the worker node and all workloads on it, and repeated exploitation could bring down every node in a Kubernetes cluster. The issue was fixed in version 3.0.0.

Affected Systems

Affected products are the Jupyter Enterprise Gateway component of jupyter‑server. Versions from 2.0.0rc1 through the 3.2.x releases prior to the 3.3.0 release contain the flawed validation logic. The issue was resolved in the 3.0.0 release, which is included in the 3.3.0 release set.

Risk and Exploitability

The CVSS score of 9.8 indicates critical severity, while the EPSS score of less than 1% suggests a low likelihood of widespread exploitation under current conditions. Nevertheless, the vulnerability can be exploited by any entity able to issue kernel launch requests with custom UID/GID parameters, making it highly relevant for environments that expose remote kernel creation APIs. Because the flaw can elevate privileges to the host level, repeated exploitation could compromise every worker node in the Kubernetes cluster, and the vulnerability is not yet listed in the CISA KEV catalog.

Generated by OpenCVE AI on July 31, 2026 at 01:10 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Jupyter Enterprise Gateway to version 3.0.0 or newer, ensuring that the bugfix that enforces prohibited UID/GID checks is present.
  • Verify that the gateway configuration enforces prohibited VIDs or set the allowed UID/GID whitelist to exclude 0, and do not allow custom KERNEL_UID/KERNEL_GID inputs from untrusted sources.
  • Disable or restrict any hostPath read‑write volume mounts used by containers, as they provide a direct path for privilege escalation.
  • Monitor kernel launch events for abnormal KERNEL_UID/KERNEL_GID values and audit logs for repeated root launches.

Generated by OpenCVE AI on July 31, 2026 at 01:10 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-chq7-94j8-cj28 Jupyter Enterprise Gateway: ContainerProcessProxy._enforce_prohibited_ids Bypass
History

Thu, 23 Jul 2026 22:45:00 +0000

Type Values Removed Values Added
First Time appeared Jupyter-server
Jupyter-server enterprise Gateway
Vendors & Products Jupyter-server
Jupyter-server enterprise Gateway

Fri, 17 Jul 2026 15:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Thu, 16 Jul 2026 22:15:00 +0000

Type Values Removed Values Added
Description Jupyter Enterprise Gateway launches remote Jupyter Notebook kernels across distributed clusters like Apache Spark, Kubernetes, and Docker Swarm. Versions 2.0.0rc1 and above prior to 3.3.0 have a prohibited UID and GID feature that by default prevents launching kernels with UID or GID 0 (root), and this restriction can be bypassed using a specially crafted KERNEL_UID or KERNEL_GID value. This input validation vulnerability allows running Jupyter kernels as root, which can be dangerous as it allows more attack surface, and may lead to container escapes, compromising the worker node and all workloads running on it. Repeated exploitation can compromise all worker nodes, and thus the entire Kubernetes cluster. It is possible to specify volume mounts, so one vector for a container escape is to use a hostPath R/W volume mount, use this UID/GID bypass to run as root, and then gain code execution in the underlying worker node by creating a crontab entry in the mounted host file system. This issue has been fixed in version 3.0.0.
Title Jupyter Enterprise Gateway: ContainerProcessProxy._enforce_prohibited_ids can be Bypassed
Weaknesses CWE-20
References
Metrics cvssV3_1

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


Subscriptions

Jupyter-server Enterprise Gateway
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-17T14:23:37.372Z

Reserved: 2026-05-05T14:39:34.924Z

Link: CVE-2026-44180

cve-icon Vulnrichment

Updated: 2026-07-17T14:20:12.112Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-31T01:15:18Z

Weaknesses
  • CWE-20

    Improper Input Validation