Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Login endpoint is network-accessible with no authentication; only availability is impacted via log storage exhaustion, with no confidentiality or integrity effect.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
3DescriptionCVE.org
JupyterHub is software that allows users to create a multi-user server for Jupyter notebooks. Prior to 5.5.0, invalid input to form-based login authenticators can place an unbounded attacker-controlled username in failed-login logs, allowing an unauthenticated attacker to consume logging and storage resources. This issue is fixed in version 5.5.0.
AnalysisAI
Log flooding via unbounded username input in JupyterHub's form-based login handler allows unauthenticated remote attackers to exhaust logging and disk storage resources on multi-user Jupyter notebook servers running versions prior to 5.5.0. The root cause (CWE-400) is that failed login attempts wrote the full attacker-supplied username - with no length cap - directly into application logs across three distinct code paths: the base login handler, the login POST handler, and the PAM authenticator. No public exploit code has been identified at the time of analysis, and this vulnerability is not listed in the CISA KEV catalog.
Technical ContextAI
JupyterHub is a Python-based multi-user server for Jupyter notebooks, commonly deployed in academic, research, and data science environments. The affected code spans three files: jupyterhub/handlers/base.py (login_user method), jupyterhub/handlers/login.py (post method), and jupyterhub/auth.py (PAM authenticate method). In each case, the raw value of the 'username' field from the POST body was passed directly to self.log.warning() or equivalent without any length validation, matching CWE-400 (Uncontrolled Resource Consumption). The fix in commit d6dc595 introduces a 32-character threshold: usernames exceeding this are truncated in log output to the first 16 characters plus a character count annotation, preventing unbounded log writes. CPE cpe:2.3:a:jupyterhub:jupyterhub:*:*:*:*:*:*:*:* confirms all release lines prior to 5.5.0 are affected.
RemediationAI
Upgrade JupyterHub to version 5.5.0 or later, which contains the fix introduced in commit d6dc595f84b7509969686da31d87d6d69e7fce0a. The vendor advisory is available at https://github.com/jupyterhub/jupyterhub/security/advisories/GHSA-p43p-whwx-q52h. If immediate upgrade is not possible, compensating controls include: configuring log rotation with aggressive size caps (e.g., logrotate maxsize 100M) to limit disk consumption - note this does not prevent log flooding, only bounds its impact; deploying a reverse proxy (nginx, Traefik) in front of JupyterHub with per-IP rate limiting on POST /login to reduce the attacker's write throughput; and restricting network access to the JupyterHub login endpoint to known IP ranges where operationally feasible. Rate limiting is the most effective compensating control but may block legitimate users behind shared NAT.
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
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
Same weakness CWE-400 – Uncontrolled Resource Consumption
View allSame technique Denial Of Service
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-54678
GHSA-p43p-whwx-q52h