Skip to content

Archive

Account Recovery

17 articles
Cybersecurity 13 Sep 2026 8 min read

Password Reset Is an Authentication Ceremony

A password reset endpoint can be quieter than the login page and still hold more authority. A successful login proves possession of an existing credential. A successful reset replaces that credential, often after a single email link has crossed several systems outside the application’s direct control. That makes account recovery an authentication ceremony in its own right. Treating it as a support feature creates a dangerous asymmetry: the primary login path receives rate limits, multifactor checks, session controls, and detailed telemetry, while the recovery path is reduced to “email a token and accept a new password.”

Cybersecurity 12 Sep 2026 10 min read

Make Password Reset Tokens Single Use

Password recovery is an authentication path with unusual power. A reset link can let its holder replace an account password without presenting the current password, so the token inside that link must be treated as a short-lived credential. A strong token is not enough by itself. If the same token remains valid after a successful reset, a copied link can be replayed. If two requests can validate the same token before either request marks it used, both may pass. If a database stores raw reset tokens, a database disclosure can turn pending recovery records into immediate account access.

Cybersecurity 11 Sep 2026 10 min read

Treat Recovery Codes as One-Time Authentication Secrets

Multi-factor authentication can lock out a legitimate user when a phone is lost, an authenticator is reset, or a security key is unavailable. Recovery codes give the user a controlled fallback. The risk is that this fallback can quietly become an easier way into the account than the authentication method it is supposed to recover. A recovery code is not just a convenience string. It is an authentication secret that may let someone bypass an unavailable factor. If an attacker obtains a valid code and the application accepts it, the application cannot tell that the person presenting it is not the legitimate user.

Cybersecurity 10 Sep 2026 12 min read

Treat MFA Recovery Codes as Real Credentials

Multifactor authentication can fail for ordinary reasons: a phone is lost, a hardware key breaks, or a device is replaced before an authenticator is migrated. Recovery codes give users a way back into an account without asking support staff to improvise an identity check. That convenience creates a security boundary of its own. If a recovery code can bypass the normal second factor, anyone who obtains that code may be able to do the same. A recovery system that is easier to attack than the authentication it replaces can quietly become the preferred path into the account.

Cybersecurity 09 Sep 2026 10 min read

Treat Account Email Changes as Security-Sensitive

Changing an account email address can look like an ordinary profile edit. In many systems, however, the email address is also used for sign-in, password recovery, security notifications, or proving control of the account. That makes the change a security-sensitive transition, not merely a text-field update. If an application lets a valid session replace the account email without additional checks, a stolen or unattended session may be enough to redirect future recovery messages to someone else. The legitimate user can then lose both a warning channel and a path back into the account.

Cybersecurity 09 Sep 2026 10 min read

Do Not Use Security Questions as Authenticators

An application can protect normal sign-in with a strong password or multi-factor authentication and then weaken the same account with one recovery question such as a pet name or birthplace. If answering that question is enough to reset a password or regain access, the question is effectively another authenticator. That matters because many personal facts are easier to discover, infer, reuse, or guess than a deliberately chosen authentication secret. The recovery path can therefore become easier to satisfy than the sign-in path it is meant to recover.

Cybersecurity 09 Sep 2026 10 min read

Build Security-Sensitive URLs from Trusted Origins

A password-reset endpoint often needs to send an absolute URL such as https://accounts.example/reset?.... A tempting implementation is to take the hostname from the incoming HTTP request and prepend it to the reset path. That shortcut creates a trust problem. The request’s authority information, commonly exposed to application code through Host, :authority, or proxy-derived host fields, describes where the client says the request is addressed. It is not proof that the value is an approved public origin for links containing sensitive tokens.

Cybersecurity 08 Sep 2026 9 min read

Treat Recovery Codes as One-Time Authenticators

Multi-factor authentication can fail for ordinary reasons: a phone is replaced, a hardware authenticator is lost, or an authenticator application becomes unavailable. Recovery codes give a user a backup path, but that path also becomes part of the authentication system. If a copied recovery code keeps working after it has been used, anyone who obtained the copy may be able to reuse it later. The useful mental model is therefore simple: a recovery code is a one-time backup authenticator, not a reusable emergency password. The server should accept a valid code once, consume it as part of that successful authentication, and reject the same code afterward.

Cybersecurity 08 Sep 2026 8 min read

Build Security Links from Trusted Origins

Applications often need to send absolute links in email: password-reset links, email-verification links, invitation links, and similar security-sensitive URLs. A convenient implementation takes the hostname from the incoming HTTP request and combines it with a generated token. That convenience can cross a trust boundary. Request host information is input, and deployments may also receive forwarded host information from proxies. If an attacker can influence the value used to build a security link, the application can generate a valid secret token but place it inside a URL for the wrong origin. A user who follows that URL may disclose the token to a host the application does not trust.

Cybersecurity 07 Sep 2026 10 min read

Verify a New Contact Before Making It Authoritative

Changing an account email address or phone number can look like an ordinary profile update. It is not ordinary when that contact is used for password resets, account recovery, login alerts, or other security decisions. If an application accepts a new address and immediately treats it as authoritative, a typing mistake can redirect important messages to someone else. An attacker who has gained limited account access may also try to replace a trusted recovery destination with one they control. In both cases, the dangerous step is the same: the application trusts a new destination before establishing that the account holder can receive messages there.

Cybersecurity 07 Sep 2026 10 min read

Let a New Password Reset Request Supersede Older Ones

A password reset link is temporary authority to replace an account credential. If a user requests three reset emails and all three links remain valid, the application has created three independent pieces of recovery authority. Using one link may not remove the risk from the other two. That matters because reset messages can remain in inboxes, mail previews, browser history, or other places the application does not control. A user may request a second link because the first message arrived late, looked stale, or was requested by mistake. If the second request leaves the first token valid, the user’s attempt to start over has not actually replaced the earlier recovery path.

Cybersecurity 07 Sep 2026 10 min read

Do Not Use Personal Questions for Account Recovery

A login flow can use strong passwords and multi-factor authentication, yet the account can still be easier to take over through its recovery path. If a user who cannot sign in only needs to answer questions such as a birth city, school name, or family detail, the recovery process may accept evidence that another person can discover, infer, or repeatedly guess. That makes personal security questions a poor substitute for authentication. The problem is not merely that some questions are badly chosen. The deeper problem is that facts about a person are usually not secrets designed for authentication: they can be shared, become public, remain unchanged for years, and be known by people other than the account owner.

Cybersecurity 07 Sep 2026 9 min read

Design Recovery Codes as One-Time Authenticators

Multi-factor authentication can protect an account well during normal login and still leave a weak path around that protection. The weak path is often recovery: a user loses a device, reaches for a saved recovery code, and the application accepts that code as proof of account control. A recovery code is therefore not merely a convenience string. While it is valid, it is an authenticator. If someone else obtains it, they may be able to use the same recovery path as the legitimate user.

Cybersecurity 06 Sep 2026 9 min read

Do Not Use Security Questions for Account Recovery

A login system can use a strong password and multi-factor authentication, then quietly weaken the whole account through one recovery question: “What was the name of your first school?” If answering that question is enough to reset the password or replace an authentication factor, the answer is effectively another way to authenticate. An attacker does not need to defeat the stronger login path if the recovery path accepts information that can be guessed, researched, reused, or learned from another breach.

Cybersecurity 06 Sep 2026 10 min read

Design Recovery Codes as Real Authenticators

Recovery codes are often presented as a convenience feature: save these codes somewhere, then use one if you lose access to your normal authenticator. That description can hide their real security role. A recovery code may be enough to regain control of an account, so anyone who obtains a valid code may gain the same recovery path as the legitimate user. The practical consequence is simple: a recovery code is an authenticator, not a harmless backup string. Its generation, storage, verification, use, replacement, and revocation all belong inside the authentication threat model.

Cybersecurity 05 Sep 2026 9 min read

Design Recovery Codes as Backup Authenticators

Strong authentication creates a recovery problem: what happens when the user loses the device, key, or application that normally proves who they are? If recovery is much weaker than normal sign-in, an attacker can ignore the strong authenticator and target the fallback instead. If recovery is too difficult, legitimate users can permanently lose access. A recovery code is a secret generated in advance and kept by the user for this failure case. It acts as a backup authenticator: possession of the code can restore access when the normal authenticator is unavailable.

Cybersecurity 03 Sep 2026 11 min read

Design Account Recovery as an Authentication Boundary

A strong sign-in flow can be undermined by a weak recovery flow. Suppose an account requires a password and a phishing-resistant authenticator for normal sign-in. That protection matters only until a user loses the authenticator. If the recovery path replaces it after answering easily discovered personal questions or passing a much weaker check, an attacker can target recovery instead of the normal login. The consequence is straightforward: account recovery is another authentication path, not an administrative convenience. It must provide confidence appropriate to the account and to the access it restores.