1. Executive summary
Unit 42 has published an analysis of OAuth-based phishing in which attackers obtain access and refresh tokens after a victim completes a legitimate sign-in and MFA, giving durable access that survives password resets and MFA re-enrollment. The report describes three attack categories (account hijacking via device authorization and authorization code theft, permission hijacking via consent phishing, and malicious redirects through identity provider error handling) and notes that PhaaS kits, dynamic client-side evasion and LLM-generated brand impersonation are lowering the cost of these campaigns. No CVE, CVSS score, EPSS estimate or CISA KEV entry is associated with this item, and no named threat actor is attributed. The risk to EMEA financial services sits in identity and authorization controls rather than in patchable software: token theft defeats MFA, conditional access and IP allow-listing because the token is presented after authentication has already succeeded. The report is a single-vendor analysis with no atomic indicators, so the technical detail below is behavioural and should be validated against your own identity provider telemetry before enforcement.
2. Regulatory framing
No specific DORA/NIS2 article is directly engaged by this item.
3. Technical analysis & attack chain
The report describes OAuth abuse as an authorization-layer problem. The victim authenticates with a real identity provider and completes MFA. The attacker then obtains the resulting token, which is valid until explicitly revoked and which refresh tokens can silently renew for days or months. Because the token is not a password, a password reset does not invalidate it, and because the victim already satisfied MFA during the flow, the attacker never has to defeat MFA.
Confirmed attack steps, as described by Unit 42:
- The attacker selects an OAuth flow appropriate to the objective: device authorization, authorization code, consent grant, or redirect abuse.
- For device authorization misuse, the attacker's server requests a device code, then shows that code to the victim and instructs them to enter it at a real device login page (the report cites microsoft[.]com/devicelogin as the example). The victim signs in and submits the code, authenticating the attacker's session rather than their own.
- For authorization code theft, the attacker uses a legitimate application's registered redirect_uri to expose the authorization code in the browser, then uses social engineering to extract the code. No malicious app registration is required; the app already passes provider security checks.
- For permission hijacking, the victim authenticates legitimately and clicks Allow on a consent screen for an attacker-registered application. The app name is either vague (the report gives "Privacy Policy Extension" and "Security App" as examples) or impersonates a trusted brand while the underlying client_id belongs to the attacker.
- For malicious redirects, the attacker registers an app with an attacker-owned redirect_uri, or crafts an authorization URL that deliberately triggers an error so the identity provider appends error parameters to the redirect_uri and sends the browser to the attacker's domain automatically. The report gives the example format
<attacker-domain>/security/?state=<encoded-victim-email>&error=interaction_required&error_subtype=access_denied, produced by combiningprompt=nonewith parameters that require user interaction. - The attacker uses the resulting token to access downstream services that trust the identity provider, without generating credential-based alerts.
Three named authorization weaknesses amplify the persistence. Cross-User OAuth Session Fixation (COSF) occurs when an OAuth session completes an authentication flow without strict binding to the initiating user: the attacker starts a flow such as "Connect your Slack" inside a target app, freezes the session, sends the victim a phishing link, and the token lands in the attacker's account. Cross-Tenant Client ID Confusion and Cross-Connector OAuth Account Takeover both depend on OAuth-as-a-service (OaaS) architectures, where a central token vault serves many tenants. In the first, a malicious tenant swaps its Client ID to impersonate a trusted tenant sharing the vault; in the second, the attacker manipulates how the vault maps sessions to connectors so a victim's flow is rerouted into attacker control. Both are described conceptually; the report gives no product names, versions or reproduction detail for the OaaS weaknesses.
The delivery layer has moved from static HTML to client-side execution. The report describes payloads delivered as obfuscated blobs (naming AES-GCM as an example algorithm) through edge infrastructure such as Cloudflare Workers, with the interface assembled only after execution in the victim's browser. Pages fingerprint the browser environment to detect developer tools, sandbox configurations and headless crawlers, and on detection either enter endless debugger loops or route traffic to legitimate domains. PhaaS kits re-skin a single framework with different corporate branding, and the report notes shared anti-bot and Cloudflare Real User Monitoring (RUM) tokens across campaigns that appear distinct, which it reads as common infrastructure rented to less technical affiliates. The report also states it observed signs of LLM-generated landing pages but gives no code, hashes or domains.
Two claims in the report are single-sourced and should be treated as such. The 18.53% figure for OAuth sites requesting permissions beyond the minimum comes from a large-scale web study the report cites without naming the dataset or methodology. The March 2026 error-based redirect campaign is attributed to Microsoft documentation; the report gives no campaign name, actor or indicator set. The related reporting on OAuth client ID spoofing in Microsoft Entra ID, where at least two threat actors validate stolen credentials without generating a successful sign-in event, is separate from the Unit 42 analysis and is itself single-sourced to The Hacker News; no MITRE ATT&CK profile is available for either, so no actor attribution is made here.
The report notes Cloudflare's June 2026 launch of self-managed OAuth clients as an expansion of the consent surface: a token granting access to a Cloudflare account reaches DNS, CDN routing and edge compute, which is a wider impact radius than mail or file access.
4. Mitigation & containment
P1 within 24 hours
- Disable end-user consent for third-party OAuth applications in each identity provider your estate uses (Microsoft Entra, Google Workspace and any other IdP in scope) and route all requests through an admin consent workflow. This is the report's primary control for permission hijacking and removes the consent screen as an attack surface.
- Inventory every enterprise application registration and audit each registered redirect_uri. Quarantine any app whose callback points to an external, recently created or unmanaged domain. The report names continuous redirect_uri auditing as the control for malicious redirects.
- Review existing OAuth grants for applications with vague names or scopes beyond profile and email, and revoke grants that cannot be justified. Revocation is the only action that invalidates a stolen refresh token; a password reset does not.
- Enable sign-in and audit logging for consent grants, app registrations and token issuance, and confirm retention covers at least the token lifetime configured in your tenant.
P2 within 72 hours
- Deploy clipboard monitoring for authorization and device codes: alert when a code is copied from an untrusted source and pasted into a device login page or messaging application, before token generation completes. The report identifies this as the control for device authorization and authorization code theft.
- Enforce phishing-resistant MFA (FIDO2 or hardware keys) for administrators and for any role with access to infrastructure platforms. This does not stop token theft on its own, but it raises the cost of the credential-harvesting step that precedes many of these flows.
- Restrict device code flow to the populations that need it. Where the flow is not required, block it at the IdP; where it is required, alert on device code issuance to users who have no enrolled device.
- Add detection for authorization URLs combining
prompt=nonewith parameters that require interaction, and for redirects carryingerror=interaction_requiredorerror_subtype=access_deniedto domains outside your verified set.
P3 within 7 days
- Build a third-party consent security policy that enforces least privilege, blocks unverified apps and revokes risky grants uniformly across providers, so protection does not depend on each IdP's own guardrails. The report notes that OAuth security is decentralized and that smaller platforms offer weaker protections.
- Treat OAuth consent screens in security awareness material with the same weight as password entry: no grants to apps with vague names or excessive scopes, and no pasting of authorization or device codes into unverified chat applications.
- Where OAuth-as-a-service is in use, ask the provider how it isolates tenants in its token vault and how it binds sessions to connectors. The report describes Cross-Tenant Client ID Confusion and Cross-Connector OAuth Account Takeover as inherent to the architecture but gives no vendor-specific remediation.
5. Indicators of compromise
No indicators of compromise available in the source material. The report contains no hashes, domains, IP addresses or file paths. The observable behaviours it describes are listed below.
Behavioural indicators
| behaviour | where to observe | confidence |
|---|---|---|
| Device code issued to a user who then authenticates from a different device or location than the requesting client | IdP device code issuance and authentication logs | high (described in report) |
| Authorization code copied from an untrusted source and pasted into a device login page or messaging app | Endpoint clipboard telemetry, browser extension logs | medium (control proposed by report, not observed telemetry) |
| Consent granted to an app with a vague name or scopes beyond profile and email | IdP consent grant audit log | high |
| Consent granted to an app whose display name matches a trusted brand but whose client_id is newly registered | IdP app registration and consent logs | high |
Authorization request combining prompt=none with parameters requiring interaction, followed by redirect to a non-verified domain with error=interaction_required |
IdP authorization and redirect logs, web proxy | medium (single-sourced to Microsoft via the report) |
| Phishing page that assembles its interface at runtime after fetching an obfuscated blob from edge infrastructure | Browser or sandbox network capture | medium |
| Phishing page that enters debugger loops or redirects to a legitimate domain when developer tools or headless browsers are detected | Browser or sandbox behavioural telemetry | medium |
| Shared anti-bot or Cloudflare RUM tokens across campaigns with different branding | Web proxy and edge logs | low (report observation, no token values given) |
6. Detection
The report gives no file artefacts, command lines, mutexes, registry keys or filenames. The only exact strings it provides are OAuth protocol parameters and the redirect URL format, which are usable in a Sigma rule against identity provider logs. A YARA rule is not appropriate here because there is no file-level material.
title: OAuth Error-Based Redirect to Non-Verified Domain
id: 7f3c2a91-4b6e-4d18-9c2f-oauth-redirect-001
status: experimental
description: Detects authorization requests that combine prompt=none with an interaction-required parameter and redirect to an external domain with OAuth error parameters, as described by Unit 42 (citing Microsoft, March 2026).
author: Adverse Trace
date: 2026-10-22
references:
- https://unit42.paloaltonetworks.com/current-landscape-oauth-attacks/
logsource:
product: azure
service: signinlogs
detection:
selection_prompt:
Prompt|contains: 'none'
selection_error:
ErrorCode:
- 'interaction_required'
- 'access_denied'
selection_redirect:
RedirectUri|contains:
- '/security/?state='
- 'error=interaction_required'
- 'error_subtype=access_denied'
condition: selection_prompt and selection_error and selection_redirect
falsepositives:
- Legitimate applications that handle interaction_required errors and redirect to their own registered callback
level: medium
title: OAuth Consent Grant to Application with Excessive Scopes
id: 9a1d4e72-6c3b-4f80-b5d1-oauth-consent-002
status: experimental
description: Detects consent grants to third-party applications requesting scopes beyond profile and email, or with display names matching common vague or impersonation patterns described by Unit 42.
author: Adverse Trace
date: 2026-10-22
references:
- https://unit42.paloaltonetworks.com/current-landscape-oauth-attacks/
logsource:
product: azure
service: auditlogs
detection:
selection_op:
OperationName:
- 'Consent to application'
- 'Add OAuth2PermissionGrant'
selection_scope:
ModifiedProperties|contains:
- 'Mail.Read'
- 'Files.ReadWrite'
- 'offline_access'
- 'Directory.ReadWrite'
selection_name:
ModifiedProperties|contains:
- 'Privacy Policy Extension'
- 'Security App'
condition: selection_op and (selection_scope or selection_name)
falsepositives:
- Approved enterprise applications onboarded through the admin consent workflow
level: medium
Tune both rules to your tenant's approved application list before enabling alerting. The scope names in the second rule are standard Microsoft Graph permission names, not values taken from the report; validate them against your own consent logs.
7. Sources
- Palo Alto Networks Unit 42, "The Current Landscape of OAuth Attacks", https://unit42.paloaltonetworks.com/current-landscape-oauth-attacks/, 2026-10-22.
- The Hacker News, "OAuth Client ID Spoofing Lets Attackers Validate Stolen Microsoft Entra Credentials", https://thehackernews.com/2026/07/oauth-client-id-spoofing-lets-attackers.html, July 2026. Single-sourced; no actor attribution available.
- Cisco Talos, "You were onto something with 'It's the Climb,' Miley", https://blog.talosintelligence.com/you-were-onto-something-with-its-the-climb-miley/, 2026. Q2 2026 Incident Response Trends: authentication abuse and QR-code phishing. Context only; no OAuth-specific indicators.
8. Adverse Trace position
Adverse Trace assesses this as a medium-severity, high-likelihood identity threat for EMEA financial services, not a vulnerability with a patch. No CVE, CVSS score, EPSS estimate or CISA KEV entry applies, and no threat actor is attributed: the Unit 42 report names no actor and the Entra client ID spoofing reporting is single-sourced with no MITRE ATT&CK profile. The client impact is concentrated in organizations that have rolled out MFA and treat it as the end of the identity control story: a stolen refresh token survives password reset, MFA re-enrollment, conditional access and IP allow-listing, and the resulting access to mail, files or infrastructure platforms (DNS, CDN, edge compute where Cloudflare OAuth clients are in use) can support fraud, data theft or supply chain compromise without a credential-based alert firing. We will monitor for atomic indicators from follow-on reporting, re-check the Entra client ID spoofing technique against Microsoft's own advisory before recommending enforcement, and publish an update if the report's promised follow-up on AI agent abuse adds technical detail. Clients should treat the P1 consent and redirect_uri controls as the priority this week; the clipboard and device-code detections can follow once logging is confirmed.
Published via PulseTrace — Adverse Trace threat intelligence.