nOAuth – Microsoft OAuth Misconfiguration can result in a full account takeover.

OPInnovate Research

August 1, 2023

A significant flaw known as nOAuth has come to light, discovered by the diligent security team at Descope. This flaw, found in Microsoft Azure AD OAuth applications, could potentially lead to a full account takeover. This post is dedicated to exploring this issue, its implications, and the steps you can take to mitigate its impact.

What is nOAuth?

nOAuth is a term coined by the Descope security team, who first uncovered this configuration issue in Microsoft Azure AD multi-tenant OAuth applications. The flaw lies in the usage of the mutable and unverified “email” claim in Microsoft Azure AD as an identifier, a practice that most Identity Providers (IdPs) advise against.

The Potential Damage of nOAuth

The nOAuth flaw, can be exploited by an attacker who changes the email attribute under “Contact Information” in the Azure AD account. This allows them to control the “email” claim in the returned identity JWT, and consequently, use “Log in with Microsoft” with a vulnerable app and a specially crafted “victim” user. The result? A complete account takeover.

Microsoft’s Response to nOAuth

In response to the discovery, Microsoft has taken steps to address the nOAuth issue. They have refactored their documentation, providing stronger guidance on claim verification. Additionally, they have introduced two new claims to mitigate cases where nOAuth is used for cross-tenant spoofing. These features will enable apps to verify whether an email claim contains a domain-verified email address and mitigate email claims when the email domain is unverified.

Steps to Mitigate the nOAuth Issue

Following Microsoft’s advice in their claims validation documentation, “upn”, “email”, “preferred_username” and other claims should not be used to make authentication or authorization decisions. The claim that should be used as the unique identifier for the user is the “sub” (Subject) claim.

If you wish to continue merging user accounts, it’s important to validate the email address provided by Microsoft with a magic link or similar secure means. This ensures that the email is controlled by the real account holder. You can also use the two new claims introduced by Microsoft to explicitly indicate whether an email claim is from a domain-verified email and redact the email claim if needed.

Conclusion

The discovery of the nOAuth issue underscores the complexity of authentication and authorization, and the potential vulnerabilities that can arise. It serves as a reminder of the importance of regular deep security reviews of authentication implementations. If you need help identifying whether your app is vulnerable to nOAuth and/or implementing a fix, consider reaching out OP Innovate’s cybersecurity experts.

Under Cyber Attack?

Fill out the form and we will contact you immediately.