CVE-2024-29033: GoogleOAuthenticator.hosted_domain incorrectly verifies membership of an Google organization/workspace
Summary and impact
[GoogleOAuthenticator.hosteddomain] is used to restrict what Google accounts can be authorized to access a JupyterHub. The restriction is intended to ensure Google accounts are part of one or more Google organizations/workspaces verified to control specified domain(s).
The vulnerability is that the actual restriction has been to Google accounts with emails ending with the domain. Such accounts could have been created by anyone which at one time was able to read an email associated with the domain. This was described by Dylan Ayrey (@dxa4481) in this [blog post] from 15th December 2023.
Remediation
Upgrade to oauthenticator>=16.3.0 or restrict who can login another way, such as [allowedusers] or [allowedgooglegroups].
[GoogleOAuthenticator.hosteddomain]: https://oauthenticator.readthedocs.io/en/latest/reference/api/gen/oauthenticator.google.html#oauthenticator.google.GoogleOAuthenticator.hosteddomain [allowedusers]: https://oauthenticator.readthedocs.io/en/latest/reference/api/gen/oauthenticator.google.html#oauthenticator.google.GoogleOAuthenticator.allowedusers [allowedgooglegroups]: https://oauthenticator.readthedocs.io/en/latest/reference/api/gen/oauthenticator.google.html#oauthenticator.google.GoogleOAuthenticator.allowedgooglegroups [blog post]: https://trufflesecurity.com/blog/google-oauth-is-broken-sort-of/
Other sources
OAuthenticator provides plugins for JupyterHub to use common OAuth providers, as well as base classes for writing one's own Authenticators with any OAuth 2.0 provider. GoogleOAuthenticator.hosteddomain is used to restrict what Google accounts can be authorized access to a JupyterHub. The restriction is intented to be to Google accounts part of one or more Google organization verified to control specified domain(s). Prior to version 16.3.0, the actual restriction has been to Google accounts with emails ending with the domain. Such accounts could have been created by anyone which at one time was able to read an email associated with the domain. This was described by Dylan Ayrey (@dxa4481) in this [blog post] from 15th December 2023). OAuthenticator 16.3.0 contains a patch for this issue. As a workaround, restrict who can login another way, such as allowedusers or allowedgooglegroups.
— MITRE
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2024-29033?
CVE-2024-29033 has been classified as a high severity vulnerability due to its potential impact on Google account access control.
How do I fix CVE-2024-29033?
To fix CVE-2024-29033, upgrade the oauthenticator package to version 16.3.0 or later.
What software is affected by CVE-2024-29033?
CVE-2024-29033 affects versions of the oauthenticator package prior to 16.3.0.
What is the impact of CVE-2024-29033 on JupyterHub?
The impact of CVE-2024-29033 on JupyterHub is that it may allow unauthorized Google accounts to gain access if not properly restricted.
Is there a workaround for CVE-2024-29033?
Currently, the recommended workaround for CVE-2024-29033 is to update the affected software to the patched version.