Jupyter Enterprise Gateway: Jinja2 Template Server Side Template Injection results in Remote Code Execution
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- Code execution
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub. Impact type from CWE-1336.
Summary
Jupyter Enterprise Gateway launches remote Jupyter Notebook kernels across distributed clusters like Apache Spark, Kubernetes, and Docker Swarm. In versions 2.0.0rc2 and above, prior to 3.3.0, the environment variables (KERNEL_XXX) used during the rendering of the Kubernetes manifest are vulnerable to Server Side Template Injection (SSTI). By including Jinja2 template expressions it is possible to execution Python code and OS Commands in the Enterprise Gateway service. The code can use or steal the Kubernetes service account token, which can steal Kubernetes secrets and be used to fully compromise the Kubernetes cluster by scheduling a privileged pod or a pod with a hostPath volume mount. This issue has been fixed in version 3.3.0.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- Yes
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| jupyterlab | enterprise_gateway | 2.0.0rc2 to before 3.3.0 | 3.3.0 | Patch available | CNA |
| — | jupyter_enterprise_gateway (PyPI) | 2.0.0rc2 to before 3.3.0 | 3.3.0 | Patch available | GHSA-f49j-v924-fx9w |
- enterprise_gateway Vendorjupyterlab Affected 2.0.0rc2 to before 3.3.0 Fixed in 3.3.0 Patch available CNA
- jupyter_enterprise_gateway (PyPI) Vendor— Affected 2.0.0rc2 to before 3.3.0 Fixed in 3.3.0 Patch available GHSA-f49j-v924-fx9w
CPE configurations NVD · 3
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:jupyter:enterprise_gateway:*:*:*:*:*:*:*:* | 2.1.0 to before 3.3.0 | Vulnerable | jupyterlab |
| cpe:2.3:a:jupyter:enterprise_gateway:2.0.0:-:*:*:*:*:*:* | 2.0.0 | Vulnerable | jupyterlab |
| cpe:2.3:a:jupyter:enterprise_gateway:2.0.0:rc2:*:*:*:*:*:* | 2.0.0 rc2 | Vulnerable | jupyterlab |
- cpe:2.3:a:jupyter:enterprise_gateway:*:*:*:*:*:*:*:* Versions 2.1.0 to before 3.3.0 Vulnerable ·jupyterlab
- cpe:2.3:a:jupyter:enterprise_gateway:2.0.0:-:*:*:*:*:*:* Versions 2.0.0 Vulnerable ·jupyterlab
- cpe:2.3:a:jupyter:enterprise_gateway:2.0.0:rc2:*:*:*:*:*:* Versions 2.0.0 rc2 Vulnerable ·jupyterlab
Remediation
- Fix · CNA enterprise_gateway (jupyter-server) Fixed in 3.3.0
- Fix · GHSA-f49j-v924-fx9w jupyter_enterprise_gateway (PyPI) Fixed in 3.3.0 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-44181
- 2026-10-03 Alias added: GHSA-f49j-v924-fx9w
References
More jupyterlab Enterprise Gateway vulnerabilities
- TI-2026-32161 Jupyter Enterprise Gateway Has Kubernetes Manifest Injection via Jinja2 Template Rendering CVSS 4.0CRITICAL 10.0
- TI-2026-32159 Jupyter Enterprise Gateway: ContainerProcessProxy._enforce_prohibited_ids can be Bypassed CVSS 3.1CRITICAL 9.8
Sources
- CVE-2026-44181 · CVE Program
- CVE-2026-44181 · NVD
- FIRST EPSS
- GHSA-f49j-v924-fx9w · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences