CVE-2026-44182 json
Jupyter Enterprise Gateway Has Kubernetes Manifest Injection via Jinja2 Template Rendering
published 2026-06-03 5 mo ago modified 2026-10-24 15 d ago also GHSA-cfw7-6c5v-2wjq , PYSEC-2026-362 , EUVD-2026-45065
- cvss
- 10.0
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.6%
- EPSS 0.6% chance of exploitation in 30 days, percentile 50%
- public exploits
- 0
- none known
Summary
Jupyter Enterprise Gateway launches remote Jupyter Notebook kernels across distributed clusters like Apache Spark, Kubernetes, and Docker Swarm. In versions prior to 3.3.0, the server interpolates untrusted environment variables (e.g., KERNEL_XXX) into Kubernetes manifests without YAML-aware escaping, enabling YAML injection attacks. Attackers can inject new fields, overwrite critical fields (e.g., duplicate securityContext keys, where the last one prevails), and inject document boundaries (--- for new documents, ... for end-of-document) to generate multiple resources, potentially creating arbitrary types, such as privileged pods. The Jinja2 template for the Kubernetes manifest contains several kernel_xxx variables, such as kernel_working_dir that are used when rendering the manifest and are all vectors for YAML injection. This issue has been fixed in version 3.3.0.
Patch / fix
- pypi jupyter-enterprise-gateway 3.3.0
- jupyter enterprise_gateway 3.3.0
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- yes
- Technical impact
- total
- Assessed
- 3 mo ago
Exploit prediction
0.63% chance of exploitation in the next 30 days, higher than 50% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/jupyter-server/enterprise_gateway/security/advisories/GHSA-cfw7-6c5v-2wjq referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 10.0 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H |
| CNA | 4.0 | 10.0 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
| NVD | 3.1 | 10.0 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | jupyter-enterprise-gateway | <3.3.0 |
3.3.0 |
Affected products
- jupyter-server enterprise_gateway
Classification
- Weakness
-
- CWE-74 Improper Neutralization of Special Elements in Output Used by a Downstream Component
References
-
github.com
/jupyter-server/enterprise_gateway/security/advisories/GHSA-cfw7-6c5v-2wjq
exploit, web, vendor-advisory
-
github.com
/jupyter-server/enterprise_gateway/releases/tag/v3.3.0
product, release-notes
-
github.com
/jupyter-server/enterprise_gateway
package
-
pypi.org
/project/jupyter-enterprise-gateway
package
-
github.com
/advisories/GHSA-cfw7-6c5v-2wjq
advisory
-
nvd.nist.gov
/vuln/detail/CVE-2026-44182
advisory
Sources
- CVE List CVE-2026-44182
- GitHub Advisory GHSA-cfw7-6c5v-2wjq
- NVD CVE-2026-44182
- OSV PYSEC-2026-362
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.