Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privilege user
-
ExploitRegister hyphenated username colliding with target (alice-prod)
-
ExecutionStart named server to overwrite victim OAuth client
-
ImpactStop server to revoke tokens and break victim login
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V6 - Authentication Use of multiple resources in auth
|
| Exploitation Conditions | Requires a multi-user JupyterHub instance (through 6.0.1) with the named-server feature enabled and with the attacker able to obtain or register an authenticated account whose username contains a hyphen that collides with the 'user-servername' OAuth client identifier of a specific victim (e.g. attacker 'alice-prod' to target user 'alice' server 'prod'). Exploitation is limited by: it requires an authenticated low-privilege account (PR:L), control over the attacker's own username to craft the collision, the named-server/OAuth-client feature being in use, and a specific pre-identified target - making this a targeted account-level denial rather than untargeted or default-configuration compromise. |
| Impact | This is a genuinely low-priority issue, and the signals are internally consistent rather than conflicting. The vendor-supplied CVSS 4.0 base score is 2.3 (Low) with vector AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:L/VA:L - network-reachable but requiring an authenticated low-privilege account (PR:L) plus a specific attack requirement (AT:P): the attacker must control a username whose hyphenated form collides with a victim's named-server OAuth client identifier. Impact is bounded to low integrity and low availability (VI:L/VA:L) with explicitly no confidentiality impact (VC:N) and no scope change to other systems (SC/SI/SA:N). No EPSS score, CISA KEV listing, or distinct proof-of-concept exploit flag was provided in the input; there is no public exploit identified at time of analysis, though a third-party technical write-up (hackmd.io) and a VulnCheck advisory describe the mechanism. The only notable tension is the 'Information Disclosure' tag, which contradicts VC:N - nothing is disclosed; the flaw lets an attacker overwrite another user's OAuth client to break that user's login and revoke their tokens, which is an integrity/availability denial-of-service against a specific targeted account, not data exposure. Net: a real but narrow, targeted abuse requiring a privileged precondition (an authenticated account plus a colliding username on a multi-user instance with named servers), not a mass-exploitable critical bug. |
| Exploit ScenarioDerived | On a multi-user JupyterHub instance where users can self-select usernames and named servers are enabled, an authenticated attacker registers a username such as 'alice-prod' that collides with the OAuth client identifier generated for user 'alice' running a named server called 'prod'. By starting and then stopping their own named server, the attacker overwrites and then invalidates alice's OAuth client, breaking alice's OAuth login flow and revoking her active tokens. No public exploit code is identified, but a detailed technical write-up describing the collision exists. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 11, 2026
JupyterHub deployments through 6.0.1 that run in multi-user mode with the named-server feature enabled allow an authenticated low-privilege user to hijack the OAuth client identity of another user's named server by registering a hyphenated username that collides with the victim's client identifier (for example, an attacker named 'alice-prod' overwrites the client used by user 'alice' for server 'prod'). The overwrite breaks the victim's OAuth login flow and revokes their tokens when the attacker stops their own server, producing a targeted, account-level denial of service rather than a broad compromise; it requires the attacker to hold an authenticated account whose name they can control and to know the victim/target server combination in advance. No public exploit code or confirmed active exploitation has been identified at time of analysis, and the vendor-assigned CVSS 4.0 base score is 2.3, consistent with an independent assessment of LOW severity.
RemediationAI
No vendor-released patch identified at time of analysis; the supplied references are the public write-up, the VulnCheck advisory (https://www.vulncheck.com/advisories/jupyterhub-through-6.0.1-oauth-client-id-collision-via-unescaped-hyphen), the technical analysis at https://hackmd.io/@haind/jupyterhub-oauth-client-id-cross-user-collision and upstream source pointers (https://github.com/jupyterhub/jupyterhub), so administrators should track the JupyterHub project for a fixed release and apply it as soon as one is published. Until then, the most direct compensating control is to prevent the identifier collision at account-provisioning time by rejecting or normalising usernames that contain hyphens (enforced through the authenticator's username validation or an upstream identity provider allow-list), accepting the trade-off that existing hyphenated accounts must be renamed and that stricter name rules can break SSO mappings. Where named servers are not essential, disabling the named-server feature removes the vulnerable 'user-servername' client namespace entirely, at the cost of losing per-user multi-server isolation and requiring users to consolidate onto their default server. JupyterHub administrators who self-provision accounts should also disable open self-registration so an attacker cannot mint a colliding hyphenated username, and should monitor or log OAuth client creation and revocation events for duplicate identifiers, since the attacker-triggered revocation appears as an unexpected logout/token invalidation for the victim. None of these mitigations repair the underlying unescaped-hyphen concatenation, so they should be treated as interim risk reduction rather than a fix.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
JupyterHub's OAuth provider derives a stable client identifier for each user's named server by concatenating the username and the server name with an unescaped hyphen, effectively treating the tuple (username, server name) as a single flat namespace. Because the hyphen is a legal character inside usernames, two logically distinct identities - user 'alice' with server 'prod' and user 'alice-prod' with a server - map onto the same OAuth client ID, an instance of CWE-694 (Use of Multiple Resources with Duplicate Identifier). The referenced upstream code paths in jupyterhub/user.py (server/user handling around lines 563-567 and 1174-1186) and jupyterhub/oauth/provider.py (client registration/lookup around lines 719-754) show where the client is created and where it is later resolved and revoked, so registering the colliding client replaces the victim's entry and a subsequent server stop triggers token revocation against the shared identifier. The practical effect is authentication-availability loss (broken OAuth logins and revoked tokens) for a specific victim, with no confidentiality or scope impact per both the CVSS 4.0 vector (VC:N/SC:N) and the independent CVSS 3.1 assessment (C:N/I:L/A:L).
Know when Jupyterhub gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N
Authenticated low-priv account gives PR:L; crafting a colliding hyphenated username is a non-trivial precondition so AC:H; no data exposure (C:N), only overwrite/revocation giving I:L/A:L.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
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.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
More in Jupyterhub
View allIn jupyterhub-kubespawner before 0.12, certain usernames will be able to craft particular server names which will grant
FirstUseAuthenticator is a JupyterHub authenticator that helps new users set their password on their first login to Jupy
Log flooding via unbounded username input in JupyterHub's form-based login handler allows unauthenticated remote attacke
Authentication bypass in JupyterHub OAuthenticator <17.4.0 allows authenticated attackers with unverified email addresse
nbgitpuller is a Jupyter server extension to sync a git repository one-way to a local path. Rated high severity (CVSS 8.
jupyterhub-systemdspawner enables JupyterHub to spawn single-user notebook servers using systemd. Rated high severity (C
JupyterHub is an open source multi-user server for Jupyter notebooks. Rated high severity (CVSS 7.5), this vulnerability
JupyterHub is software that allows one to create a multi-user server for Jupyter notebooks. Rated high severity (CVSS 7.
JupyterHub is an open source multi-user server for Jupyter notebooks. Rated medium severity (CVSS 6.1), this vulnerabili
An Open Redirect vulnerability for all browsers in Jupyter Notebook before 5.7.7 and some browsers (Chrome, Firefox) in
Open redirect vulnerability in JupyterHub prior to version 5.4.4 allows unauthenticated remote attackers to craft malici
EUVD-2026-96917
GHSA-h63v-vvgj-vrfh
NVD
CVE.org
EPSS
Exploit-DB