Detect CVE-2026-44180: Jupyter Enterprise Gateway ContainerProcessProxy._enforce_prohibited_ids Bypass in Elastic Security
CVE-2026-44180 is a critical (CVSS 9.8) input validation bypass in Jupyter Enterprise Gateway versions >= 2.0.0rc1 and < 3.3.0. The ContainerProcessProxy._enforce_prohibited_ids method fails to properly validate or enforce restrictions on kernel IDs, allowing an attacker to bypass container process isolation controls. This can enable unauthorized kernel spawning, container escape, or execution of arbitrary workloads within the enterprise gateway environment. A public proof-of-concept exists.
MITRE ATT&CK
Elastic Detection Query
sequence by host.name with maxspan=5m
[process where process.name in ("python3", "python", "jupyter") and
(process.command_line like~ "*enterprise_gateway*" or process.command_line like~ "*ContainerProcessProxy*")]
[network where process.name in ("python3", "python", "jupyter") and
destination.port in (8888, 8889, 9001, 9002) and
network.direction == "outgoing"] EQL sequence detecting Jupyter Enterprise Gateway process spawning followed by outbound network activity, which may indicate CVE-2026-44180 exploitation and container escape attempts.
Data Sources
Required Tables
False Positives & Tuning
- Standard notebook kernel communication on documented ports
- Gateway health checks initiated by legitimate monitoring systems
- Developer workstations running local gateway instances for testing
Other platforms for CVE-2026-44180
Testing Methodology
Validate this detection against 3 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.
- Test 1Spawn unauthorized kernel via ID bypass on vulnerable gateway
Expected signal: Process creation events for python3 spawned as child of jupyter-enterprise-gateway with command line containing the test kernel_id value; HTTP access log entries showing POST /api/kernels with status 201 for requests that should have been rejected
- Test 2Enumerate gateway kernel API for ID restriction bypass
Expected signal: Multiple sequential HTTP POST requests to /api/kernels gateway endpoint within a short timeframe with varying kernel_id values including path traversal and command injection patterns
- Test 3Simulate container escape via unrestricted kernel process spawning
Expected signal: Container process creation events showing python3 kernel process; if escape is successful, process events outside container namespace; file access events for /proc/1/cgroup or /etc/hosts from kernel process
Unlock Pro Content
Get the full detection package for CVE-2026-44180 including response playbook, investigation guide, and atomic red team tests.