AADSTS50072 (UserStrongAuthEnrollmentRequiredInterrupt): MFA Not Set Up
Published · Updated
Entra ID accepted the credentials and then stopped the sign-in because the account has no second factor registered yet; from an address the user does not recognise it means an attacker has the password and is one enrollment away from owning the account.
Did the attacker have the password? Yes — the password was accepted; the sign-in failed at a later step. Treat the credential as known to whoever attempted it.
Microsoft's definition
UserStrongAuthEnrollmentRequiredInterrupt
UserStrongAuthEnrollmentRequiredInterrupt - User needs to enroll for second factor authentication (interactive).
Source: Microsoft Entra authentication and authorization error codes · checked against the published table on every build · look up another code
Where it appears
- Microsoft Sentinel / Log Analytics: the ResultType column of SigninLogs and AADNonInteractiveUserSignInLogs
- Microsoft Graph signIns API and JSON exports: status.errorCode, with the text in status.failureReason
- Entra admin center sign-in log download (CSV): the Sign-in error code column
- 1
Account
Exists, is enabled, is not locked out or blocked
- 2
Password
The password or other first factor is checked
- 3
Conditional Access
Policies, risk included, block or require more
- 4 Stops here
MFA
The second factor is completed, or registered
- 5
Signed in
A token is issued; ResultType 0
Microsoft: “Conditional Access policies are enforced after first-factor authentication is completed.” Conditional Access overview ↗︎
What it means
An Entra ID sign-in runs in stages: credentials are checked, Conditional Access and MFA requirements are evaluated, a challenge is issued, and only then is a token returned. AADSTS50072 is recorded at that middle stage. Microsoft’s wording is “User needs to enroll for second factor authentication (interactive)” — MFA is required for this sign-in and the account has no method registered to be challenged with, so the interactive session is interrupted and the user is sent to registration instead.
Two facts follow from that, and both matter during triage:
- The first factor succeeded. Whoever sent the request supplied a password Entra ID accepted.
- The account has no second factor. Nothing stands between that password and a token except the registration prompt itself — and a registration prompt will happily accept the attacker’s own authenticator app or phone number.
Is it an attack?
Routine 50072 entries cluster around change: a new joiner’s first sign-in, an account whose methods an administrator has just reset, or a population that has only now come into scope for MFA. Those come from the user’s normal country, network and device, and a successful sign-in from the same IP follows once registration finishes.
Treat it as an incident when any of these are true:
- the IP, country or ASN is new for the user, or belongs to hosting, VPN or Tor space;
- the same IP produces 50072 for several different users, or appears alongside AADSTS50126 failures for other accounts — that is a spray that found a password on an unprotected account;
- enrollment completed from that unfamiliar address, which gives the attacker a durable second factor on the account (MITRE T1098.005);
- the client application or user agent is one the user never uses.
Codes AADSTS50074 and AADSTS50076 also mean the password was already accepted; 50072 is the case where the account has no second factor registered at all.
How to investigate
Start by finding which sources are hitting unenrolled accounts, and how many accounts each one touched:
SigninLogs
| where TimeGenerated > ago(14d)
| where ResultType == "50072"
| summarize Attempts = count(), Users = dcount(UserPrincipalName),
UserList = make_set(UserPrincipalName, 20), Apps = make_set(AppDisplayName, 5),
FirstSeen = min(TimeGenerated), LastSeen = max(TimeGenerated)
by IPAddress, Location
| order by Users desc, Attempts desc
One IP against several users is a spray result, not a help-desk ticket. Then answer the question that sets the severity — did the sign-in complete from the same address after the prompt?
let lookback = 14d;
let prompts = SigninLogs
| where TimeGenerated > ago(lookback) and ResultType == "50072"
| project PromptTime = TimeGenerated, UserPrincipalName, IPAddress, AppDisplayName, Location, ClientAppUsed;
let wins = SigninLogs
| where TimeGenerated > ago(lookback) and ResultType == "0"
| project WinTime = TimeGenerated, UserPrincipalName, IPAddress;
prompts
| join kind=leftouter wins on UserPrincipalName, IPAddress
| summarize SignedInAfter = countif(WinTime between (PromptTime .. (PromptTime + 30m)))
by PromptTime, UserPrincipalName, IPAddress, Location, AppDisplayName, ClientAppUsed
| order by PromptTime desc
A row with SignedInAfter above zero from an address the user cannot account for means registration was completed by someone else: reset the password, revoke sessions, remove the authentication methods the user did not add, and then check the mailbox for new forwarding or inbox rules and the account for recent application consents. Rows with no success and an unfamiliar source still mean the password is known — reset it anyway, and look for the same IP under other accounts before closing the case.
Related codes
- AADSTS50074 UserStrongAuthClientAuthNRequiredInterrupt The password was correct and Entra ID asked for multifactor authentication, which this request did not complete. Followed by a success it is routine; alone, from an unfamiliar place, it means someone else knows the password.
- AADSTS50076 UserStrongAuthClientAuthNRequired Entra ID accepted the username and password, then required multifactor authentication that this request did not provide. From scripts or legacy mail clients it is strong evidence that whoever sent it knows the password.
- AADSTS50079 UserStrongAuthEnrollmentRequired The sign-in needs multifactor authentication the account cannot provide yet — a cloud user has no security info registered, or a federated user arrived without the MFA claim — so whoever completes the next registration owns the second factor.
- AADSTS50126 InvalidUserNameOrPassword Entra ID rejected the password (or the username) for this sign-in. One failure is a typo; the same failure across many accounts from one IP is password spraying.
- AADSTS53003 BlockedByConditionalAccess A Conditional Access policy blocked the sign-in. Conditional Access is enforced after first-factor authentication completes, so for an interactive sign-in an unexpected 53003 usually means the password was right.
- AADSTS50053 This error can result from two different reasons: IdsLocked Entra ID refused the sign-in before accepting it: either smart lockout has locked the account after repeated failures, or the source IP was blocked for malicious activity.
Detect it
Frequently Asked Questions
- Does AADSTS50072 mean the password was correct?
- Yes. The sign-in only reaches the strong-authentication stage after the first factor has been accepted, and this code is logged there because the account has nothing registered to challenge. Treat every 50072 from an unfamiliar IP, country or device as proof that the credentials are known to whoever sent the request.
- What is the difference between AADSTS50072 and AADSTS50074?
- Both are logged after the password is accepted, but they describe different stops. Microsoft describes 50072 as the user needing to enroll for second factor authentication, so no method exists yet; 50074 is the user not passing an MFA challenge that was actually presented. 50072 is the more dangerous of the two, because the next person to complete enrollment owns the second factor.
- Why would we see AADSTS50072 for an account that already had MFA?
- The usual explanations are that the account is newly created, that an administrator reset or removed its authentication methods, or that it was previously out of scope for MFA and a policy or registration requirement has just brought it in. Confirm which one applies with the user's manager or the admin who made the change before assuming compromise.
- What do I do first if the 50072 came from an IP the user does not recognise?
- Reset the password and revoke the user's sessions, then list the account's registered authentication methods and remove any the user did not add — an attacker who completed the enrollment prompt now holds a working second factor. Finally, search the same IP across other accounts, because one spray often produces several of these.
Find AADSTS50072 in your own logs
Drop an Entra ID sign-in export into the free browser analyzer to see which users and IPs hit this code (nothing is uploaded), or run it through LogTriage for threat-intel enrichment and an AI-written incident report.