CVE-2020-26250: Base class whitelist configuration ignored in OAuthenticator

Published Dec 1, 2020
·
Updated

Impact

What goes wrong?

The deprecated (in jupyterhub 1.2) configuration Authenticator.whitelist, which should be transparently mapped to Authenticator.allowedusers 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.orgwhitelist are not affected.

Who is impacted?

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.teamwhitelist 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 allowedusers. Any authenticated user will be allowed.

you are likely affected.

Patches

- Replacing deprecated c.Authenticator.whitelist = ... with c.Authenticator.allowedusers = ... avoids the issue. - Update oauthenticator to 0.12.2 - Update jupyterhub helm chart to 0.10.6

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 documentation.

Workarounds

Replacing c.Authenticator.whitelist = ... with c.Authenticator.allowedusers = ... avoids the issue.

In the jupyterhub helm chart prior to 0.10.6, this can be done via hub.extraConfig:

yaml auth: allowedUsers: - user1 - user2

hub: extraConfig: allowedUsers: | # set new field not exposed in helm chart < 0.10.6 setconfigifnotnone(c.Authenticator, "allowedusers", "auth.allowedUsers")

For more information

If you have any questions or comments about this advisory:

Open a thread on the Jupyter forum Email us at security@ipython.org

Other sources

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.allowedusers 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.orgwhitelist 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.teamwhitelist 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 allowedusers. 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.allowedusers = .... 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.

Affected Software

2 affected componentsFixes available
pip/oauthenticator>=0.12.0<0.12.2
0.12.2
jupyter OAuthenticator>=0.12.0<0.12.2

Event History

Dec 1, 2020
Advisory Published
via GitHub·08:25 PM
CVE Published
via MITRE·08:30 PM
Data Sourced
via MITRE·08:30 PM
DescriptionSeverityWeakness
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the vulnerability ID for this issue?

The vulnerability ID for this issue is CVE-2020-26250.

2

What is OAuthenticator?

OAuthenticator is an OAuth login mechanism for JupyterHub.

3

What is the affected software?

The affected software is Jupyter Oauthenticator versions 0.12.0 to 0.12.2.

4

What is the severity of CVE-2020-26250?

The severity of CVE-2020-26250 is medium (CVSS score 6.3).

5

How can I fix this vulnerability?

To fix this vulnerability, upgrade to oauthenticator version 0.12.2 or higher.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203