Base class whitelist configuration ignored in OAuthenticator
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- High
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- High · None · 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 an OAuth login mechanism for JupyterHub. In oauthenticator from version 0.12.0 and before 0.12.2, the deprecated (in jupyterhub 1.2) configuration `Authenticator.whitelist`, which should be transparently mapped to `Authenticator.allowed_users` with a warning, is instead ignored by OAuthenticator classes, resulting in the same behavior as if this configuration has not been set. If this is the only mechanism of authorization restriction (i.e. no group or team restrictions in configuration) then all authenticated users will be allowed. Provider-based restrictions, including deprecated values such as `GitHubOAuthenticator.org_whitelist` are **not** affected. All users of OAuthenticator 0.12.0 and 0.12.1 with JupyterHub 1.2 (JupyterHub Helm chart 0.10.0-0.10.5) who use the `admin.whitelist.users` configuration in the jupyterhub helm chart or the `c.Authenticator.whitelist` configuration directly. Users of other deprecated configuration, e.g. `c.GitHubOAuthenticator.team_whitelist` are **not** affected. If you see a log line like this and expect a specific list of allowed usernames: "[I 2020-11-27 16:51:54.528 JupyterHub app:1717] Not using allowed_users. Any authenticated user will be allowed." you are likely affected. Updating oauthenticator to 0.12.2 is recommended. A workaround is to replace the deprecated `c.Authenticator.whitelist = ...` with `c.Authenticator.allowed_users = ...`. If any users have been authorized during this time who should not have been, they must be deleted via the API or admin interface, per the referenced documentation.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| jupyterhub | oauthenticator | 0.12.0 to before 0.12.2 | 0.12.2 | Patch available | CNA |
| — | oauthenticator (PyPI) | 0.12.0 to before 0.12.2 | 0.12.2 | Patch available | GHSA-384w-5v3f-q499 |
- oauthenticator Vendorjupyterhub Affected 0.12.0 to before 0.12.2 Fixed in 0.12.2 Patch available CNA
- oauthenticator (PyPI) Vendor— Affected 0.12.0 to before 0.12.2 Fixed in 0.12.2 Patch available GHSA-384w-5v3f-q499
CPE configurations NVD · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:jupyter:oauthenticator:*:*:*:*:*:*:*:* | 0.12.0 to before 0.12.2 | Vulnerable | jupyterlab |
- cpe:2.3:a:jupyter:oauthenticator:*:*:*:*:*:*:*:* Versions 0.12.0 to before 0.12.2 Vulnerable ·jupyterlab
Remediation
- Fix · CNA oauthenticator (jupyterhub) Fixed in 0.12.2
- Fix · GHSA-384w-5v3f-q499 oauthenticator (PyPI) Fixed in 0.12.2 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2020-26250
- 2026-10-03 Alias added: GHSA-384w-5v3f-q499
References
Advisory 4
- https://github.com/jupyterhub/oauthenticator/security/advisories/GHSA-384w-5v3f-q499
- https://github.com/jupyterhub/oauthenticator/blob/master/docs/source/changelog.md#0122---2020-11-30
- https://jupyterhub.readthedocs.io/en/1.2.2/getting-started/authenticators-users-basics.html#add-or-remove-users-from-the-hub
- https://nvd.nist.gov/vuln/detail/CVE-2020-26250
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-2020-26250 · CVE Program
- CVE-2020-26250 · NVD
- FIRST EPSS
- GHSA-384w-5v3f-q499 · 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