Globus `identity_provider` restriction ignored when used with `allow_all` in JupyterHub 5.0
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- High · High · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-863.
Summary
OAuthenticator is software that allows OAuth2 identity providers to be plugged in and used with JupyterHub. JupyterHub < 5.0, when used with `GlobusOAuthenticator`, could be configured to allow all users from a particular institution only. This worked fine prior to JupyterHub 5.0, because `allow_all` did not take precedence over `identity_provider`. Since JupyterHub 5.0, `allow_all` does take precedence over `identity_provider`. On a hub with the same config, now all users will be allowed to login, regardless of `identity_provider`. `identity_provider` will basically be ignored. This is a documented change in JupyterHub 5.0, but is likely to catch many users by surprise. OAuthenticator 16.3.1 fixes the issue with JupyterHub 5.0, and does not affect previous versions. As a workaround, do not upgrade to JupyterHub 5.0 when using `GlobusOAuthenticator` in the prior configuration.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| jupyterhub | oauthenticator | before 16.3.1 | 16.3.1 | Patch available | CNA |
| — | oauthenticator (PyPI) | before 16.3.1 | 16.3.1 | Patch available | GHSA-gprj-3p75-f996 |
- oauthenticator Vendorjupyterhub Affected before 16.3.1 Fixed in 16.3.1 Patch available CNA
- oauthenticator (PyPI) Vendor— Affected before 16.3.1 Fixed in 16.3.1 Patch available GHSA-gprj-3p75-f996
CPE names Threatist (inferred) · 1
Inferred from how NVD named this product before; not given by a source.
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:jupyter:oauthenticator:*:*:*:*:*:*:*:* | — | — | jupyterlab |
- cpe:2.3:a:jupyter:oauthenticator:*:*:*:*:*:*:*:* Versions — — ·jupyterlab
Remediation
- Fix · CNA oauthenticator (jupyterhub) Fixed in 16.3.1
- Fix · GHSA-gprj-3p75-f996 oauthenticator (PyPI) Fixed in 16.3.1 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2024-37300
- 2026-10-03 Alias added: GHSA-gprj-3p75-f996
References
Other 4
- https://github.com/jupyterhub/oauthenticator/security/advisories/GHSA-gprj-3p75-f996
- https://github.com/jupyterhub/oauthenticator/commit/d1aea05fa89f2beae15ab0fa0b0d071030f79654
- https://jupyterhub.readthedocs.io/en/stable/howto/upgrading-v5.html#authenticator-allow-all-and-allow-existing-users
- https://github.com/jupyterhub/oauthenticator
More jupyterhub vulnerabilities
- TI-2025-23499 Jupyter Remote Desktop Proxy makes TigerVNC accessible via the network and not just via a UNIX socket as intended CVSS 4.0CRITICAL 9.0
- TI-2023-10877 JupyterHub's LTI13Authenticator: JWT signature not validated CVSS 3.1CRITICAL 10.0
- TI-2021-16545 Remote code execution in Binderhub CVSS 3.1CRITICAL 9.8
- TI-2021-18033 Improper Access Control in jupyterhub-firstuseauthenticator CVSS 3.1CRITICAL 9.8
- TI-2021-16546 Code injection in nbgitpuller CVSS 3.1CRITICAL 9.6
- TI-2024-18755 Jupyter Server Proxy's Websocket Proxying does not require authentication CVSS 3.1CRITICAL 9.8
Sources
- CVE-2024-37300 · CVE Program
- CVE-2024-37300 · NVD
- FIRST EPSS
- GHSA-gprj-3p75-f996 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences