{
  "id": "CB-M365-AUTH-040",
  "standard": "m365",
  "version": "main",
  "url": "https://baselines.cirsec.org/b/m365/CB-M365-AUTH-040",
  "json": "https://baselines.cirsec.org/b/m365/CB-M365-AUTH-040.json",
  "yaml": "https://baselines.cirsec.org/b/m365/CB-M365-AUTH-040.yml",
  "profiles_effective": [
    "hardened"
  ],
  "license": "Text CC BY 4.0, code Apache-2.0",
  "attribution": "CIRSEC Baselines, https://baselines.cirsec.org",
  "control": {
    "id": "CB-M365-AUTH-040",
    "title": "Require two methods to reset a password with SSPR",
    "finding": {
      "title": "A single method is enough to reset a user's password",
      "description": "An attacker who controls one factor, such as a SIM-swapped phone number or a mailbox, can reset the password and take over the account."
    },
    "status": "active",
    "profiles": [
      "hardened"
    ],
    "risk": {
      "severity": "medium"
    },
    "assessment": "manual",
    "tags": [
      "sspr",
      "password-reset",
      "account-recovery"
    ],
    "description": "In the self-service password reset settings, **Number of methods required to reset** is set to\n**2**. Users prove their identity with two different registered methods (for example an\nAuthenticator notification and an alternate email) before setting a new password.\n",
    "rationale": "A password reset is an account takeover path: whoever completes it owns the account until the user\nnotices. With one method, compromising a single phone number or personal mailbox is enough. Two\nindependent methods raise the bar to the level expected of a sign-in with MFA.\n",
    "impact": "Users must register at least two reset methods, otherwise they cannot use SSPR. Users who lose one\nmethod need the help desk more often.\n",
    "notes": "Since the move to the unified authentication methods policy, the methods available for SSPR follow\nthat policy; avoid relying on SMS and voice where they are disabled (CB-M365-AUTH-011).\nAdministrators already need two methods under Microsoft's administrator policy.\n",
    "setting": {
      "location": "Microsoft Entra admin center > Entra ID > Password reset > Authentication methods > Number of methods required to reset",
      "default_value": "1",
      "recommended_value": "2"
    },
    "audit": {
      "manual": "1. Sign in to the Microsoft Entra admin center (https://entra.microsoft.com) as at least a\n   Global Reader.\n2. Browse to **Entra ID** > **Password reset** > **Authentication methods**.\n3. Check that **Number of methods required to reset** is **2**.\n4. Fail if it is **1**.\n"
    },
    "remediation": {
      "manual": "1. Check in **Entra ID** > **Authentication methods** > **User registration details** how many\n   users have fewer than two methods; run a registration campaign first if needed.\n2. Sign in to the Microsoft Entra admin center as at least an Authentication Policy\n   Administrator.\n3. Browse to **Entra ID** > **Password reset** > **Authentication methods**.\n4. Set **Number of methods required to reset** to **2** and **Save**.\n",
      "rollback": "Set **Number of methods required to reset** back to **1**.\n"
    },
    "references": [
      {
        "title": "How self-service password reset works - authentication methods",
        "url": "https://learn.microsoft.com/entra/identity/authentication/concept-sspr-howitworks",
        "publisher": "Microsoft",
        "kind": "vendor-doc",
        "accessed": "2026-10-24"
      },
      {
        "title": "Tutorial: Enable users to unlock their account or reset passwords using Microsoft Entra self-service password reset",
        "url": "https://learn.microsoft.com/entra/identity/authentication/tutorial-enable-sspr",
        "publisher": "Microsoft",
        "kind": "vendor-doc",
        "accessed": "2026-10-24"
      }
    ],
    "mappings": [
      {
        "framework": "nist-800-53r5",
        "framework_version": "5.1.1",
        "id": "IA-5",
        "relation": "related"
      }
    ],
    "threats": [
      {
        "framework": "mitre-attack",
        "id": "T1098"
      }
    ],
    "related_controls": [
      {
        "id": "CB-M365-AUTH-039",
        "type": "requires"
      },
      {
        "id": "CB-M365-AUTH-011",
        "type": "related"
      }
    ],
    "authors": [
      {
        "name": "Alice",
        "github": "Sn0wAlice"
      }
    ],
    "introduced_in": "0.1.0",
    "created": "2026-10-24",
    "updated": "2026-10-24"
  }
}