CVE-2026-108752: JupyterHub: OAuth client ID collision lets users hijack servers
MEDIUMJupyterHub through 6.0.1 builds OAuth client IDs for named servers without escaping hyphens, so an authenticated user who registers a name like alice-prod can overwrite the OAuth client of alice's server prod. The practical result is broken OAuth login and token revocation for the victim's server, not data theft or code execution. Severity is medium (CVSS 4.2) with high attack complexity and low privileges required, and there is no KEV listing, no public exploit, no Nuclei template and no EPSS score yet, so near-term exploitation likelihood is low. The exposure is greatest for multi-tenant JupyterHub deployments that let users self-register or choose usernames. Apply the upstream fix once released, and in the meantime restrict username patterns to disallow hyphens or use an authenticator that normalizes usernames.
What is the risk?
Low-to-moderate. The CVSS vector (AV:N/AC:H/PR:L/UI:N/C:N/I:L/A:L) reflects the need for an authenticated account and a precise username and server-name collision. Impact is limited to integrity and availability of per-server OAuth clients. There is no confidentiality impact, no known exploitation, and no public PoC. Risk rises in shared data-science platforms where usernames are user-chosen and named servers are common (for example, notebooks used for model training and experimentation).
How does the attack unfold?
How severe is it?
What is the attack surface?
What should I do?
1 step1) Upgrade JupyterHub to a patched release once the maintainers publish a fix beyond 6.0.1, and track the upstream repository and the VulnCheck advisory. 2) Until patched, restrict usernames so they cannot contain hyphens, or restrict named-server names, via authenticator username patterns or allowlists. 3) Disable self-registration and limit named servers to trusted users. 4) Audit existing users and named servers for ambiguous pairs, for example user 'alice-prod' alongside user 'alice' with a server 'prod'. 5) Monitor for unexpected OAuth client deletions, repeated login failures on named servers, and unexpected token revocations in hub logs.
What does CISA's SSVC say?
Source: CISA Vulnrichment (SSVC v2.0). Decision based on the CISA Coordinator decision tree.
How is it classified?
Which compliance frameworks are affected?
This CVE is relevant to:
Frequently Asked Questions
What is CVE-2026-108752?
JupyterHub through 6.0.1 builds OAuth client IDs for named servers without escaping hyphens, so an authenticated user who registers a name like alice-prod can overwrite the OAuth client of alice's server prod. The practical result is broken OAuth login and token revocation for the victim's server, not data theft or code execution. Severity is medium (CVSS 4.2) with high attack complexity and low privileges required, and there is no KEV listing, no public exploit, no Nuclei template and no EPSS score yet, so near-term exploitation likelihood is low. The exposure is greatest for multi-tenant JupyterHub deployments that let users self-register or choose usernames. Apply the upstream fix once released, and in the meantime restrict username patterns to disallow hyphens or use an authenticator that normalizes usernames.
Is CVE-2026-108752 actively exploited?
No confirmed active exploitation of CVE-2026-108752 has been reported, but organizations should still patch proactively.
How to fix CVE-2026-108752?
1) Upgrade JupyterHub to a patched release once the maintainers publish a fix beyond 6.0.1, and track the upstream repository and the VulnCheck advisory. 2) Until patched, restrict usernames so they cannot contain hyphens, or restrict named-server names, via authenticator username patterns or allowlists. 3) Disable self-registration and limit named servers to trusted users. 4) Audit existing users and named servers for ambiguous pairs, for example user 'alice-prod' alongside user 'alice' with a server 'prod'. 5) Monitor for unexpected OAuth client deletions, repeated login failures on named servers, and unexpected token revocations in hub logs.
What systems are affected by CVE-2026-108752?
This vulnerability affects the following AI/ML architecture patterns: Multi-tenant notebook platforms, Training pipelines, Shared ML development environments.
What is the CVSS score for CVE-2026-108752?
CVE-2026-108752 has a CVSS v3.1 base score of 4.2 (MEDIUM). The EPSS exploitation probability is 0.24%.
What is the AI security impact?
Affected AI Architectures
MITRE ATLAS Techniques
AML.T0012Valid AccountsAML.T0029Denial of AI ServiceCompliance Controls Affected
What are the technical details?
Original Advisory
JupyterHub through 6.0.1 contains an identifier collision vulnerability that allows authenticated users to overwrite another user's named-server OAuth client by registering a hyphenated username. Attackers holding a name like alice-prod can overwrite the client for alice's server prod, breaking OAuth login and revoking tokens by stopping their own server.
Exploitation Scenario
An attacker with a low-privilege account on a shared JupyterHub registers the username 'alice-prod' and starts a server. The hub derives a client ID that collides with the one for alice's named server 'prod', overwriting the legitimate OAuth client. Alice can no longer complete OAuth login to her prod server. When the attacker stops their own server, the shared client is removed and Alice's tokens are revoked, interrupting her training jobs and notebook sessions.
Weaknesses (CWE)
CWE-694Use of Multiple Resources with Duplicate IdentifierPrimaryCWE-694Use of Multiple Resources with Duplicate IdentifierCWE-694 — Use of Multiple Resources with Duplicate Identifier: The product uses multiple resources that can have the same identifier, in a context in which unique identifiers are required.
- [Architecture and Design] Where possible, use unique identifiers. If non-unique identifiers are detected, then do not operate any resource with a non-unique identifier and report the error appropriately.
Source: MITRE CWE corpus.
CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:LReferences
- github.com/jupyterhub/jupyterhub
- github.com/jupyterhub/jupyterhub/blob/3e516c6f382b481e815ec455befb2f14d80d337b/jupyterhub/oauth/provider.py
- github.com/jupyterhub/jupyterhub/blob/3e516c6f382b481e815ec455befb2f14d80d337b/jupyterhub/user.py
- github.com/jupyterhub/jupyterhub/blob/3e516c6f382b481e815ec455befb2f14d80d337b/jupyterhub/user.py
- hackmd.io/@haind/jupyterhub-oauth-client-id-cross-user-collision
- vulncheck.com/advisories/jupyterhub-through-6.0.1-oauth-client-id-collision-via-unescaped-hyphen
Timeline
Related Vulnerabilities
CVE-2026-2185810.0n8n: Input Validation flaw enables exploitation
Same attack type: Auth BypassGHSA-vvpj-8cmc-gx3910.0picklescan: security flaw enables exploitation
Same attack type: Auth BypassCVE-2025-282810.0LangChain RequestsToolkit: SSRF exposes cloud metadata
Same attack type: Auth BypassCVE-2025-5376710.0Azure OpenAI: SSRF EoP, no auth required (CVSS 10)
Same attack type: Auth BypassCVE-2026-2603010.0semantic-kernel: Code Injection enables RCE
Same attack type: Auth Bypass