Skip to main content

JupyterHub EUVDEUVD-2026-96917

| CVE-2026-108752 LOW
Use of Multiple Resources with Duplicate Identifier (CWE-694)
2026-10-11 VulnCheck GHSA-h63v-vvgj-vrfh
2.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as low-privilege user
  2. Exploit
    Register hyphenated username colliding with target (alice-prod)
  3. Execution
    Start named server to overwrite victim OAuth client
  4. Impact
    Stop 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.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
No patch listed yet 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

jupyterhub 0 ≤6.0.1

Affected Packages

euvd jupyterhub no fix

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

Vendor (VulnCheck) PRIMARY 2.3 LOW
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
vuln.today AI 4.2 MEDIUM

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.

3.1 AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:L
4.0 AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
Low
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

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

EPSS Score
0.2%
Top 85% exploitable
Prevalence
Medium
common in research, education and data-science environments, not everywhere
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity LOW
CISA KEV No
Public POC No
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Low

Priority Score

12
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +12
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

CVE-2020-15110 HIGH POC
8.1 Jul 17

In jupyterhub-kubespawner before 0.12, certain usernames will be able to craft particular server names which will grant

CVE-2021-41194 CRITICAL
9.8 Oct 28

FirstUseAuthenticator is a JupyterHub authenticator that helps new users set their password on their first login to Jupy

CVE-2026-54338 MEDIUM POC
5.3 Aug 07

Log flooding via unbounded username input in JupyterHub's form-based login handler allows unauthenticated remote attacke

CVE-2026-33175 HIGH
8.8 Apr 03

Authentication bypass in JupyterHub OAuthenticator <17.4.0 allows authenticated attackers with unverified email addresse

CVE-2021-39160 HIGH
8.8 Aug 25

nbgitpuller is a Jupyter server extension to sync a git repository one-way to a local path. Rated high severity (CVSS 8.

CVE-2020-26261 HIGH
7.9 Dec 09

jupyterhub-systemdspawner enables JupyterHub to spawn single-user notebook servers using systemd. Rated high severity (C

CVE-2021-41247 HIGH
7.5 Nov 04

JupyterHub is an open source multi-user server for Jupyter notebooks. Rated high severity (CVSS 7.5), this vulnerability

CVE-2024-41942 HIGH
7.2 Aug 08

JupyterHub is software that allows one to create a multi-user server for Jupyter notebooks. Rated high severity (CVSS 7.

CVE-2024-28233 MEDIUM
6.1 Mar 27

JupyterHub is an open source multi-user server for Jupyter notebooks. Rated medium severity (CVSS 6.1), this vulnerabili

CVE-2019-10255 MEDIUM
6.1 Mar 28

An Open Redirect vulnerability for all browsers in Jupyter Notebook before 5.7.7 and some browsers (Chrome, Firefox) in

CVE-2026-33709 MEDIUM
5.1 Apr 03

Open redirect vulnerability in JupyterHub prior to version 5.4.4 allows unauthenticated remote attackers to craft malici

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy