Auth Best Practices

Password policies, login rate limiting, MFA/2FA, email verification, password reset expiry, logout everywhere, and critical action confirmation.

9 vulnerabilities

No Password Policy

medium

Accepting any password — including '123' or 'a' — makes your user accounts trivially vulnerable to credential stuffing and brute force attacks.

CWE-521A07:2021

No Rate Limit on Login

medium

A login endpoint without rate limiting can be brute-forced thousands of times per second until a valid password is found.

CWE-307A07:2021

No MFA/2FA

low

Without multi-factor authentication, a stolen or guessed password is all it takes to fully compromise an account.

CWE-308A07:2021

No Email Verification

medium

Allowing unverified email accounts lets attackers register with someone else's email address, potentially locking them out or impersonating them.

CWE-358A07:2021

Password Reset Token Without Expiry

medium

Password reset links that never expire stay valid indefinitely — an old email in a breach gives attackers a permanent account takeover path.

CWE-640A07:2021

No Logout Everywhere

low

Not providing a 'log out all devices' option leaves sessions active on stolen or forgotten devices indefinitely.

CWE-613A07:2021

No Login Notification

info

Not notifying users of new logins means they have no way to know if their account was accessed from an unfamiliar device.

CWE-778A09:2021

No Password Strength Indicator

info

Without real-time feedback on password strength, users default to weak passwords they already know — even when you require complexity.

CWE-521A07:2021

No Confirmation for Critical Actions

medium

Destructive or irreversible actions (delete account, transfer funds, change email) without a confirmation step are vulnerable to CSRF and accidental clicks.

CWE-778A01:2021