CVE-2023-51663: Hail relies on OIDC email claims to verify the validity of a user's domain.
(updated )
All Hail Batch clusters are affected. An attacker is able to:
- Create one or more accounts with Hail Batch without corresponding real accounts in the organization.
For example, a user could create a Microsoft or Google account and then change their email to “inconspicuous@example.org”. This Microsoft or Google account can then be used to create a Hail Batch account in Hail Batch clusters whose organization domain is “example.org”.
In Google, this attack is partially mitigated because Google requires users to verify ownership of their Google account. However, a valid user is able to create multiple distinct Hail Batch accounts by creating multiple distinct Google accounts using email addresses of the form “real_user_email_name+random_id@example.org”.
In Microsoft, this attack requires Azure AD Administrator access to an Azure AD Tenant. The Azure AD Administrator is permitted to change the email address of an account to any other email address without verification. An attacker can create an Azure Tenant for free.
- The attacker does not have access to any private data (because the new service principals or service accounts are not granted any privileges).
- If trial Hail Batch billing projects are enabled, the attacker does have the ability to run jobs and thus spend money. An attacker can create as many accounts as Microsoft or Google permit.
- The attacker cannot impersonate another user because, in Azure, we use the
sub
from the OAuth2 response, and, in Google, Google does an email verification.
References
- github.com/advisories/GHSA-487p-qx68-5vjw
- github.com/hail-is/hail
- github.com/hail-is/hail/commit/0dcc17ff24564b6f5592261d7975e8afd0f95de7
- github.com/hail-is/hail/security/advisories/GHSA-487p-qx68-5vjw
- github.com/pypa/advisory-database/tree/main/vulns/hail/PYSEC-2023-271.yaml
- nvd.nist.gov/vuln/detail/CVE-2023-51663
Detect and mitigate CVE-2023-51663 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →