Medium severity · published Oct 11, 2026
CVE-2026-108752
JupyterHub through 6.0.1 OAuth Client ID Collision via Unescaped Hyphen
4.2
CVSS
0.2%
EPSS
No
On KEV
Description
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.
CVSS vector
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:L
Attack vector
Network
Complexity
High
Privileges
Low
User interaction
None
Confidentiality
None
Integrity
Low
Availability
Low
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.2% · higher than 16% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
JU
jupyterhub · jupyterhub
through 6.0.1 · source: vendor
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-108752
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-108752
third-party-advisory
https://hackmd.io/@haind/jupyterhub-oauth-client-id-cross-user-collision
technical-description
https://github.com/jupyterhub/jupyterhub/blob/3e516c6f382b481e815ec455befb2f14d80d337b/jupyterhub/user.py#L563-L567
technical-description
https://github.com/jupyterhub/jupyterhub/blob/3e516c6f382b481e815ec455befb2f14d80d337b/jupyterhub/oauth/provider.py#L719-L754
technical-description
https://github.com/jupyterhub/jupyterhub/blob/3e516c6f382b481e815ec455befb2f14d80d337b/jupyterhub/user.py#L1174-L1186
product
https://github.com/jupyterhub/jupyterhub
third-party-advisory
https://www.vulncheck.com/advisories/jupyterhub-through-6.0.1-oauth-client-id-collision-via-unescaped-hyphen
More from jupyterhub
6.1
CVE-2026-33709
JupyterHub has an Open Redirect Vulnerability
5.3
CVE-2026-54338
JupyterHub: Unauthenticated Denial of Service via Unbounded Username Logging on Failed Login
4.3
CVE-2026-40864
JupyterHub: Cross-origin form POSTs bypass XSRF
