Starting with OneFuzz 2.12.0 or greater, an incomplete authorization check allows an authenticated user from any Azure Active Directory tenant to make authorized API calls to a vulnerable OneFuzz instance.
To be vulnerable, a OneFuzz deployment must be:
--multi_tenant_domain
optionThis can result in read/write access to private data such as:
Via authorized API calls, this also enables tampering with existing data and unauthorized code execution on Azure compute resources.
This issue is resolved starting in release 2.31.0, via the addition of application-level check of the bearer token’s issuer
against an administrator-configured allowlist.
Users can restrict access to the tenant of a deployed OneFuzz instance < 2.31.0 by redeploying in the default configuration, which omits the --multi_tenant_domain
option.
You can find an overview of the Microsoft Identity Platform here. This vulnerability applies to the multi-tenant application pattern, as described here.
If you have any questions or comments about this advisory:
github.com/microsoft/onefuzz
github.com/microsoft/onefuzz/commit/2fcb4998887959b4fa11894a068d689189742cb1
github.com/microsoft/onefuzz/pull/1153
github.com/microsoft/onefuzz/releases/tag/2.31.0
github.com/microsoft/onefuzz/security/advisories/GHSA-q5vh-6whw-x745
nvd.nist.gov/vuln/detail/CVE-2021-37705
pypi.org/project/onefuzz