{"id":"GHSA-gprj-3p75-f996","summary":"Globus `identity_provider` restriction ignored when used with `allow_all` in JupyterHub 5.0","details":"### Impact\n\nJupyterHub \u003c 5.0, when used with `GlobusOAuthenticator`, could be configured to allow all users from a particular institution only. The configuration for this would look like:\n\n```python\n# Require users to be using the \"foo.horse\" identity provider, often an institution or university\nc.GlobusAuthenticator.identity_provider = \"foo.horse\"\n# Allow everyone who has that identity provider to log in\nc.GlobusAuthenticator.allow_all = True\n```\n\nThis worked fine prior to JupyterHub 5.0, because `allow_all` *did not* take precedence over `identity_provider`.\n\nSince 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.\n\nThis is a [documented change](https://jupyterhub.readthedocs.io/en/stable/howto/upgrading-v5.html#authenticator-allow-all-and-allow-existing-users) in JupyterHub 5.0,\nbut is likely to catch many users by surprise.\n\n### Patches\n\nOAuthenticator 16.3.1 fixes the issue with JupyterHub 5.0, and does not affect previous versions.\n\n### Workarounds\n\nDo not upgrade to JupyterHub 5.0 when using `GlobusOAuthenticator` in the prior configuration.","aliases":["CVE-2024-37300","PYSEC-2026-1711"],"modified":"2026-09-10T03:50:15.608095310Z","published":"2024-06-12T17:13:07Z","database_specific":{"cwe_ids":["CWE-863"],"severity":"HIGH","github_reviewed":true,"github_reviewed_at":"2024-06-12T17:13:07Z","nvd_published_at":"2024-06-12T16:15:12Z"},"references":[{"type":"WEB","url":"https://github.com/jupyterhub/oauthenticator/security/advisories/GHSA-gprj-3p75-f996"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2024-37300"},{"type":"WEB","url":"https://github.com/jupyterhub/oauthenticator/commit/d1aea05fa89f2beae15ab0fa0b0d071030f79654"},{"type":"PACKAGE","url":"https://github.com/jupyterhub/oauthenticator"},{"type":"WEB","url":"https://jupyterhub.readthedocs.io/en/stable/howto/upgrading-v5.html#authenticator-allow-all-and-allow-existing-users"}],"affected":[{"package":{"name":"oauthenticator","ecosystem":"PyPI","purl":"pkg:pypi/oauthenticator"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"16.3.1"}]}],"versions":["0.1.0","0.10.0","0.11.0","0.12.0","0.12.1","0.12.2","0.12.3","0.13.0","0.2.0","0.3.0","0.4.0","0.4.1","0.5.0","0.5.1","0.6.0","0.6.1","0.6.2","0.7.0","0.7.1","0.7.2","0.7.3","0.8.0","0.8.1","0.8.2","0.9.0","14.0.0","14.1.0","14.2.0","15.0.0","15.0.1","15.1.0","16.0.0","16.0.1","16.0.2","16.0.3","16.0.4","16.0.5","16.0.6","16.0.7","16.1.0","16.1.1","16.2.0","16.2.1","16.3.0"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2024/06/GHSA-gprj-3p75-f996/GHSA-gprj-3p75-f996.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N"}]}