Defenders hate it! Compromise vulnerable SaaS applications with this one weird trick
Eric Woodruff
fwd:cloudsec North America 2025 · Day 1 · Track 1 - Crystal
Overview
Eric Woodruff, Chief Identity Architect at Semperis, presents a deep investigation into nOAuth -- a two-year-old vulnerability class in applications using OpenID Connect (OIDC) with Microsoft Entra ID that remains actively exploitable today. The vulnerability allows an attacker to impersonate any user in a SaaS application simply by knowing their email address. Woodruff's research extends the original 2023 disclosure by Descope by demonstrating that the vulnerability is not limited to cross-identity-provider attacks but works as a cross-tenant attack within Entra ID itself. Testing 104 applications from the Entra Gallery, he found 9 (8.6%) were vulnerable, including an HR platform full of PII, applications with Office 365 integrations enabling mail access, and platforms claiming 45,000+ customers. Despite coordinated disclosure with MSRC spanning over six months, Microsoft continues to characterize this as a developer problem, leaving customers with no visibility into whether the SaaS applications they rely on are vulnerable.

Key moments
- 6:30 nOAuth backstory: Descope's 2023 disclosure and Microsoft's response
- 10:00 Media coverage misled: Microsoft did not actually fix nOAuth
- 14:00 Cross-tenant attack: spoofing email claims within Entra ID itself
- 18:00 Demo: setting unverified email via Graph API PATCH operation
- 24:00 Testing results: 9 of 104 Entra Gallery apps vulnerable (8.6%)
- 26:00 Vulnerable apps: HR platform with PII, O365 integrations enabling mail access
- 30:00 MSRC case timeline: six months of silence and revoked points
- 34:00 Detection is impossible: all customer defenses are bypassed
Defenders hate it! Compromise vulnerable SaaS applications with this one weird trick
Speakers: Eric Woodruff
Conference: fwd:cloudsec North America 2025
YouTube: https://www.youtube.com/watch?v=rQxc9N4gBqA
Overview
Eric Woodruff, Chief Identity Architect at Semperis, presents a deep investigation into nOAuth -- a two-year-old vulnerability class in applications using OpenID Connect (OIDC) with Microsoft Entra ID that remains actively exploitable today. The vulnerability allows an attacker to impersonate any user in a SaaS application simply by knowing their email address. Woodruff's research extends the original 2023 disclosure by Descope by demonstrating that the vulnerability is not limited to cross-identity-provider attacks but works as a cross-tenant attack within Entra ID itself. Testing 104 applications from the Entra Gallery, he found 9 (8.6%) were vulnerable, including an HR platform full of PII, applications with Office 365 integrations enabling mail access, and platforms claiming 45,000+ customers. Despite coordinated disclosure with MSRC spanning over six months, Microsoft continues to characterize this as a developer problem, leaving customers with no visibility into whether the SaaS applications they rely on are vulnerable.
Background
▶ Watch: nOAuth backstory: Descope's 2023 disclosure and Microsoft's response (6:30)
The nOAuth vulnerability was originally disclosed by Omar Cohen of Descope on June 20, 2023. The core issue is an anti-pattern in OIDC implementations: applications that use the email claim from an ID token as the primary user identifier instead of immutable claims like subject (sub) or issuer (iss). The email claim is mutable -- an attacker with admin access to any Entra tenant can set any user's mail attribute to any email address without verification.
When Descope published this finding, Microsoft's MSRC responded with a blog post stating they had identified and notified affected multi-tenant applications. The security media (Hacker News, Bleeping Computer, Petri) ran headlines suggesting Microsoft had "fixed" or "patched" the issue. The reality, as Woodruff emphasizes, is that no fix was deployed -- Microsoft added a default setting (removeUnverifiedEmailClaim = true) for new app registrations created after June 2023, but the vast majority of existing applications remained unchanged.
Less than a month after the nOAuth disclosure, the Storm-0558 incident (Microsoft signing key theft) dominated security news, and nOAuth faded from attention. But the vulnerability never went away.
The timing is significant because Descope's original framing focused on cross-identity-provider attacks -- a user with a Microsoft account taking over a Google account in the same SaaS application. This framing may have led developers who only use Microsoft for authentication to dismiss the risk, thinking it only applied to multi-IDP configurations.
Key Findings
▶ Watch: Cross-tenant attack: spoofing email claims within Entra ID itself (14:00)
- nOAuth is alive and exploitable today. Woodruff's team began active testing in late 2024, two years after the vulnerability was declared "fixed." They tested 104 OIDC applications from the Entra Gallery (a subset of all multi-tenant applications -- vendors must apply to be listed) and found 9 applications (8.6%) were vulnerable.
- The attack works within Entra ID alone (cross-tenant). Unlike Descope's cross-IDP framing, Woodruff demonstrates that an attacker using a separate Entra tenant can exploit the same vulnerability. The attacker creates or modifies a user in their own tenant, sets the mail attribute to the target's email address via a simple Microsoft Graph API PATCH operation, and authenticates to the vulnerable SaaS application. If the application matches users by email claim, the attacker gains full access as the victim.
- High-impact applications are vulnerable. The 9 vulnerable applications included: an HR platform (containing PII for all employees), an absence management system (still vulnerable, with PII), three knowledge sharing/collaboration platforms (one claiming 45,000+ customers, still unresolved), a business coaching platform, a construction site management platform, and two applications with Office 365 integrations (calendar access, email read/send, meeting scheduling -- effectively SaaS-to-mailbox pivot capability).
- MSRC response was frustrating and ultimately ineffective. Woodruff opened a case with MSRC on December 3, 2024. It was acknowledged the next day and he was awarded 60 points. Then silence for months. When he asked about status in March 2025, his points were revoked. The case was eventually closed with a generic "problem fixed" response without answering any of his questions. Only as disclosure deadlines approached did Microsoft engage substantively, ultimately stating they would remove vulnerable applications from the Entra Gallery (which does not fix the vulnerability).
- Vendor response was highly variable. Of the 9 vulnerable vendors notified starting December 2, 2024, one resolved the issue within a week. Two remained vulnerable as of the presentation. Some vendors removed their OIDC integration entirely rather than fixing it. Others erected paywalls that prevented retesting. Some could not be reached through any published security contact.
- Customer detection is essentially impossible. The attacker authenticates through their own Entra tenant, completely bypassing the customer's conditional access policies, MFA requirements, Defender for Cloud Apps, and CASB solutions. SaaS Security Posture Management (SSPM) tools and browser security extensions do not detect this pattern. Log correlation between Entra sign-in logs and SaaS application logs is theoretically possible but practically infeasible for most organizations.
Technical Deep Dive
▶ Watch: Testing results: 9 of 104 Entra Gallery apps vulnerable (8.6%) (24:00)
The vulnerability chain exploits a fundamental property of Microsoft Entra's common endpoint architecture. Multi-tenant applications use Microsoft's common authentication endpoints (login.microsoftonline.com/common/oauth2/...), which allow users from any Entra tenant to authenticate. This is the mechanism that enables SaaS applications to serve customers across multiple organizations without per-tenant configuration.
Correct OIDC implementation requires applications to identify users using immutable claims. The subject (sub) claim is a pairwise identifier derived from a hash combination of the user's Object ID, the application ID, and the tenant ID -- guaranteed globally unique and immutable. The issuer (iss) claim contains the tenant ID. Neither can be modified by an attacker.
Vulnerable implementations use the email claim for user identification. This is dangerous because the mail attribute in Entra is mutable. An attacker with admin access to their own tenant can modify it via a simple Graph API PATCH operation:
No domain verification is required in the attacker's tenant. The attacker does not need to own victim-company.com. After setting the mail attribute, the attacker authenticates to the vulnerable SaaS application. The application receives an ID token with the spoofed email claim, matches it against the existing user record, and grants the attacker full access as the victim.
Microsoft's mitigations include:
- The
removeUnverifiedEmailClaimattribute on app registrations, defaulting totruefor apps created after June 2023. Older applications are not affected, and developers can set it tofalse. - Verified domain checking: Entra tenants can verify domains via DNS TXT/MX records, and the mitigation prevents unverified domain emails from appearing in the email claim. But this only applies when the mitigation is active.
Bypass vectors remain: developers can explicitly set removeUnverifiedEmailClaim to false, applications created before June 2023 are grandfathered, and guest account conversions and hybrid Active Directory synchronization can also set unverified email addresses.
Woodruff advocates for Microsoft to remove the ability to send the email claim in ID tokens entirely, forcing applications to use the UserInfo endpoint (/oidc/v2.0/userinfo) for email addresses post-authentication, which would eliminate the attack surface.
Demo / Proof of Concept
▶ Watch: Vulnerable apps: HR platform with PII, O365 integrations enabling mail access (26:00)
Woodruff showed video demonstrations of: setting an unverified email address on a user (Kenny Rogers) in Graph Explorer via a PATCH operation, then verifying the change; and examining ID tokens via jwt.ms showing the spoofed email claim appearing in tokens from the attacker's tenant. The demonstrations used controlled accounts and did not target live vulnerable applications. He offered to show a full end-to-end exploitation video if time permitted.
Defensive Implications
▶ Watch: Detection is impossible: all customer defenses are bypassed (34:00)
The defensive picture for nOAuth is bleak for customers:
- Your conditional access, MFA, Defender for Cloud Apps, CASB, and SSPM are all bypassed. The attacker authenticates through their own tenant, not yours. All your Entra-level defenses protect your tenant, not the SaaS application.
- Log correlation is theoretically possible but practically infeasible. You would need to compare Entra sign-in logs with SaaS application sign-in logs, looking for logins in the SaaS app without corresponding Entra sign-ins in your tenant. No one is doing this at scale.
- Browser security extensions and push security tools do not detect this pattern.
- For application developers: Check your app registration for
removeUnverifiedEmailClaimset totrue. If your app was created before June 2023, this setting may not exist and defaults to allowing unverified email claims. Fix your user identification logic to use the sub or oid claims instead of email. Test your application -- the first vendor Woodruff worked with needed multiple iterations to fully remediate. - For customers: Ask your SaaS vendors whether they use the email claim for user identification in their OIDC implementation. Request that Microsoft add an attribute to service principals indicating whether an application consumes unverified email claims.
- For Microsoft: Woodruff recommends flagging on service principals whether the application requests unverified email claims, giving customers visibility to make their own risk assessments. He also advocates removing the email claim from ID tokens entirely and directing developers to the UserInfo endpoint.
Key Takeaways
- The nOAuth vulnerability -- account takeover in SaaS applications via spoofed email claims in OIDC -- remains actively exploitable two years after being declared "fixed."
- Testing 104 Entra Gallery applications found 9 (8.6%) vulnerable, including HR platforms with PII and applications with Office 365 integrations enabling email/calendar access.
- The attack bypasses all customer-side Entra defenses: conditional access, MFA, CASB, SSPM, and browser security -- because the attacker authenticates through their own tenant.
- Microsoft characterizes this as a developer problem, leaving customers with no visibility into which SaaS applications are vulnerable.
- Detection is practically impossible for most organizations, making this a stealth attack vector for targeted compromise of SaaS-hosted data.
- Application developers must use immutable claims (sub, iss, oid) instead of email for user identification and rigorously test their OIDC implementations.
About the Speaker(s)
Eric Woodruff is Chief Identity Architect at Semperis, a company focused on Active Directory and identity security. He has deep expertise in Microsoft Entra ID, OIDC, and identity architecture. He is the owner of the domain entra.ms and maintains a blog where the full nOAuth research is published at entra.ms/noauth. He previously wrote about the original nOAuth disclosure in 2023, criticizing the media coverage for suggesting the issue was fixed when it was not. He also presented this research at Troopers conference the week prior.
Reviews
Dr. Zero (Offensive Security Researcher) — STRONG ACCEPT
A two-year-old vulnerability that everyone thought was fixed -- it wasn't. Woodruff demonstrates that nOAuth account takeover in SaaS apps via spoofed email claims is alive and well, finding 8.6% of tested Entra Gallery apps still vulnerable, including HR platforms swimming in PII and apps with O365 integrations that pivot directly into mailboxes. The attack is trivial, detection is essentially impossible, and Microsoft's response has been to shrug. That's a dangerous combination.
Heather Calloway (CISO) — MUST SEE
Every CISO whose organization uses SaaS applications with Microsoft Entra ID authentication needs to watch this talk. The nOAuth vulnerability enables trivial account takeover of SaaS applications using only a target's email address, bypasses every customer-side defense (conditional access, MFA, CASB, SSPM), and remains exploitable in nearly 9% of tested applications two years after being declared fixed. Microsoft characterizes this as a developer problem, leaving customers with zero visibility and zero recourse. This is an institutional accountability failure across Microsoft, SaaS vendors, and the security community.